diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-12 10:05:28 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-01-12 10:05:28 +0000 |
commit | 3381a03a4c6b4cc8b630eec1fe1f3a2792ec9bba (patch) | |
tree | 9015cbde63a553c647631990a8859f8b29b4af0f /gcc/config/i386/xmmintrin.h | |
parent | 2204f6e97362afdf9d332c84b072ae4b87f1a8ba (diff) | |
download | gcc-3381a03a4c6b4cc8b630eec1fe1f3a2792ec9bba.tar.gz |
* config/i386/i386.c (override_options): If SSE, enable sse prefetch.
(ix86_expand_vector_move): New.
(bdesc_2arg): Remove andps, andnps, orps, xorps.
(ix86_init_mmx_sse_builtins): Make static. Remove composite builtins.
Remove old prefetch builtins. Special case the logicals removed above.
(ix86_expand_builtin): Likewise.
(safe_vector_operand): Use V4SFmode, not TImode.
(ix86_expand_store_builtin): Remove shuffle arg. Update callers.
(ix86_expand_timode_binop_builtin): New.
* config/i386/i386-protos.h: Update.
* config/i386/i386.h (enum ix86_builtins): Update.
* config/i386/i386.md: Correct predicates on MMX/SSE patterns.
Use ix86_expand_vector_move in vector move expanders.
(movti_internal, movti_rex64): Add xorps alternative.
(sse_clrv4sf): Rename and adjust from sse_clrti.
(prefetch): Don't work so hard.
(prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
* config/i386/xmmintrin.h (__m128): Use V4SFmode.
(_mm_getcsr, _mm_setcsr): Fix typo in builtin name.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48796 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/xmmintrin.h')
-rw-r--r-- | gcc/config/i386/xmmintrin.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/config/i386/xmmintrin.h b/gcc/config/i386/xmmintrin.h index c515064900b..9f9f2f99393 100644 --- a/gcc/config/i386/xmmintrin.h +++ b/gcc/config/i386/xmmintrin.h @@ -34,11 +34,11 @@ #include <mmintrin.h> /* The data type indended for user use. */ -typedef int __m128 __attribute__ ((mode (TI))); +typedef int __m128 __attribute__ ((__mode__(__V4SF__))); /* Internal data types for implementing the instrinsics. */ -typedef int __v4sf __attribute__ ((mode (V4SF))); -typedef int __v4si __attribute__ ((mode (V4SI))); +typedef int __v4sf __attribute__ ((__mode__(__V4SF__))); +typedef int __v4si __attribute__ ((__mode__(__V4SI__))); /* Create a selector for use with the SHUFPS instruction. */ #define _MM_SHUFFLE(fp3,fp2,fp1,fp0) \ @@ -680,7 +680,7 @@ _mm_movemask_ps (__m128 __A) static __inline unsigned int _mm_getcsr (void) { - return __builtin_ia32_getmxcsr (); + return __builtin_ia32_stmxcsr (); } /* Read exception bits from the control register. */ @@ -712,7 +712,7 @@ _MM_GET_FLUSH_ZERO_MODE (void) static __inline void _mm_setcsr (unsigned int __I) { - __builtin_ia32_setmxcsr (__I); + __builtin_ia32_ldmxcsr (__I); } /* Set exception bits in the control register. */ |