https://bugs.kde.org/show_bug.cgi?id=399287

            Bug ID: 399287
           Summary: Illegal Instruction vcmptrueps
           Product: valgrind
           Version: 3.13.0
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: dww...@gmail.com
  Target Milestone: ---

Created attachment 115345
  --> https://bugs.kde.org/attachment.cgi?id=115345&action=edit
Small C program illustrating the problem

SUMMARY

Using Valgrind 3.13, Valgrind is failing with an illegal instruction error. 
The instruction is vcmptrueps, which can be manually created with the
_mm_cmp_ps() intrinsic. (Documentation:
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_cmp_ps&expand=719,719&techs=AVX)

I have attached a small program that reproduces the problem.

We see the problem with Clang 5.0.1 and GCC 7.3. (It seems that different
versions interpret this intrinsic differently, so YMMV.) If I have the compiler
output the assembly (-s flag), the vcmptrueps instruction doesn't show up. If I
attach to the vgdb server and look at the highlighted instruction when valgrind
sends the SIGILL signal, then it shows up. I'm not sure why they are different.
I'm not an expert, I'm afraid.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to