Bug 366142

Summary: Illegal opcode _mm_maskload_ps
Product: [Developer tools] valgrind Reporter: Marios Hadjieleftheriou <mhadji>
Component: generalAssignee: Julian Seward <jseward>
Status: RESOLVED UNMAINTAINED    
Severity: normal    
Priority: NOR    
Version First Reported In: 3.10.0   
Target Milestone: ---   
Platform: Debian stable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Marios Hadjieleftheriou 2016-07-26 20:58:08 UTC
I am trying to profile a program compiled with gcc using -mavx, and including immintrin.h. I get the following error:
==5880== Process terminating with default action of signal 4 (SIGILL)
==5880==  Illegal opcode at address 0x43AA5E
==5880==    at 0x43AA5E: ... (avxintrin.h:928)

Looking at avxintrin.h line 928, I see this instruction:
927 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
 928 _mm_maskload_ps (float const *__P, __m128i __M)
 929 {
 930   return (__m128) __builtin_ia32_maskloadps ((const __v4sf *)__P,
 931                          (__v4si)__M);
 932 }



Reproducible: Always

Steps to Reproduce:
1. Run any executable that uses _mm_maskload_ps
Comment 1 Josef Weidendorfer 2016-07-28 15:44:54 UTC
I suppose you get the same error with other tools, so this is not
callgrind-specific. Reassigning to general.

Can you recheck with valgrind 3.11? Is this 32-bit?
Comment 2 Marios Hadjieleftheriou 2016-08-01 19:33:23 UTC
(In reply to Josef Weidendorfer from comment #1)
> I suppose you get the same error with other tools, so this is not
> callgrind-specific. Reassigning to general.
> 
> Can you recheck with valgrind 3.11? Is this 32-bit?

Thank you for your quick reply.

It happens with valgrind as well. This is 64 bit. I did not try 3.11 yet. I will do so soon.
Comment 3 Marios Hadjieleftheriou 2016-08-17 19:00:09 UTC
(In reply to Josef Weidendorfer from comment #1)
> I suppose you get the same error with other tools, so this is not
> callgrind-specific. Reassigning to general.
> 
> Can you recheck with valgrind 3.11? Is this 32-bit?

It works using valgrind 3.11 !
Comment 4 Julian Seward 2016-09-14 15:35:39 UTC
(In reply to Marios Hadjieleftheriou from comment #3)
> It works using valgrind 3.11 !

Yay!

Well, I'll close this then.