[Bug target/37157] New: [4.4 Regression] Wrong insn for _mm_unpackhi_epi64

hjl dot tools at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Aug 19 01:10:00 GMT 2008


[hjl@gnu-6 i386]$ cat x.c
/* { dg-do run } */
/* { dg-options "-O2 -msse2" } */

#include <emmintrin.h>

__m128i
__attribute__((noinline, unused))
test (__m128i s1, __m128i s2)
{
  return _mm_unpackhi_epi64 (s1, s2); 
}
[hjl@gnu-6 i386]$
/export/build/gnu/gcc-stack-internal/build-x86_64-linux/gcc/xgcc 
-B/export/build/gnu/gcc-stack-internal/build-x86_64-linux/gcc/ -O2 x.c -S
[hjl@gnu-6 i386]$ cat x.s
        .file   "x.c"
        .text
        .p2align 4,,15
.globl test
        .type   test, @function
test:
.LFB516:
        shufpd  $3, %xmm1, %xmm0
        ret

Gcc 4.3 generates

test:
.LFB518:
        punpckhqdq      %xmm1, %xmm0
        ret


-- 
           Summary: [4.4 Regression] Wrong insn for _mm_unpackhi_epi64
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: hjl dot tools at gmail dot com


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



More information about the Gcc-bugs mailing list