diff options
author | H.J. Lu <hjl@gcc.gnu.org> | 2008-08-07 06:16:23 -0700 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2008-08-07 06:16:23 -0700 |
commit | b53b23dcfdfeea25517fe21dcfe73ba6bb6d193e (patch) | |
tree | 593f35c2ee411aecad75ed1447bd13bc257b1d83 /gcc/config/i386/emmintrin.h | |
parent | 9aa4d3c1cbd78511c868b2361eb033d685e1dc25 (diff) | |
download | gcc-b53b23dcfdfeea25517fe21dcfe73ba6bb6d193e.tar.gz |
re PR target/36992 (Very stange code for _mm_move_epi64)
gcc/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* config/i386/emmintrin.h (_mm_move_epi64): Use
__builtin_ia32_movq128.
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
(bdesc_args): Add IX86_BUILTIN_MOVQ128.
* config/i386/sse.md (sse2_movq128): New.
* doc/extend.texi: Document __builtin_ia32_movq128.
gcc/testsuite/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* gcc.target/i386/pr36992-1.c: Scan movq.
* gcc.target/i386/pr36992-2.c: Use "-O2 -msse4" instead of
"-O0 -msse2". Scan movq.
From-SVN: r138839
Diffstat (limited to 'gcc/config/i386/emmintrin.h')
-rw-r--r-- | gcc/config/i386/emmintrin.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/i386/emmintrin.h b/gcc/config/i386/emmintrin.h index 933dcd61e63..c6590dce4d4 100644 --- a/gcc/config/i386/emmintrin.h +++ b/gcc/config/i386/emmintrin.h @@ -726,7 +726,7 @@ _mm_movpi64_epi64 (__m64 __A) extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) _mm_move_epi64 (__m128i __A) { - return _mm_set_epi64 ((__m64)0LL, _mm_movepi64_pi64 (__A)); + return (__m128i)__builtin_ia32_movq128 ((__v2di) __A); } /* Create a vector of zeros. */ |