summaryrefslogtreecommitdiff
path: root/gcc/config/i386/emmintrin.h
diff options
context:
space:
mode:
authorH.J. Lu <hjl@gcc.gnu.org>2008-08-07 06:16:23 -0700
committerH.J. Lu <hjl@gcc.gnu.org>2008-08-07 06:16:23 -0700
commitb53b23dcfdfeea25517fe21dcfe73ba6bb6d193e (patch)
tree593f35c2ee411aecad75ed1447bd13bc257b1d83 /gcc/config/i386/emmintrin.h
parent9aa4d3c1cbd78511c868b2361eb033d685e1dc25 (diff)
downloadgcc-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.h2
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. */