------- Comment #7 from hjl at lucon dot org  2007-10-17 21:48 -------
Icc generates:

#include <xmmintrin.h>
__m128i
foo (__m128i a, int n )
{
  a = _mm_slli_epi32( a, n );
  return a;
}
[EMAIL PROTECTED] tmp]$ /opt/intel/cce/10.0/bin/icc -c x.c
[EMAIL PROTECTED] tmp]$ objdump -d x.o

x.o:     file format elf64-x86-64

Disassembly of section .text:

0000000000000000 <foo>:
   0:   66 0f 6e cf             movd   %edi,%xmm1
   4:   66 0f f2 c1             pslld  %xmm1,%xmm0
   8:   c3                      retq   
   9:   90                      nop    
   a:   90                      nop    
   b:   90                      nop    
[EMAIL PROTECTED] tmp]$ 

BTW, _mm_slli_si128 maps to "pslldq" and it only takes imm as shift count.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32961

Reply via email to