summaryrefslogtreecommitdiff
path: root/gcc/config/i386/xmmintrin.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-12 10:05:28 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-01-12 10:05:28 +0000
commit3381a03a4c6b4cc8b630eec1fe1f3a2792ec9bba (patch)
tree9015cbde63a553c647631990a8859f8b29b4af0f /gcc/config/i386/xmmintrin.h
parent2204f6e97362afdf9d332c84b072ae4b87f1a8ba (diff)
downloadgcc-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.h10
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. */