aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c15
2 files changed, 14 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fa2797e..89258a3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
+ * config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for
+ -msse/-msse2/-msse3.
+
+2007-05-24 H.J. Lu <hongjiu.lu@intel.com>
+
* config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark
__builtin_ia32_vec_set_v2di with MASK_64BIT.
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 3609dac..2b3024c 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -1571,25 +1571,28 @@ ix86_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED, int value)
if (!value)
{
target_flags &= ~(MASK_SSE2 | MASK_SSE3 | MASK_SSSE3
- | MASK_SSE4A);
+ | MASK_SSE4_1 | MASK_SSE4A);
target_flags_explicit |= (MASK_SSE2 | MASK_SSE3 | MASK_SSSE3
- | MASK_SSE4A);
+ | MASK_SSE4_1 | MASK_SSE4A);
}
return true;
case OPT_msse2:
if (!value)
{
- target_flags &= ~(MASK_SSE3 | MASK_SSSE3 | MASK_SSE4A);
- target_flags_explicit |= MASK_SSE3 | MASK_SSSE3 | MASK_SSE4A;
+ target_flags &= ~(MASK_SSE3 | MASK_SSSE3 | MASK_SSE4_1
+ | MASK_SSE4A);
+ target_flags_explicit |= (MASK_SSE3 | MASK_SSSE3
+ | MASK_SSE4_1 | MASK_SSE4A);
}
return true;
case OPT_msse3:
if (!value)
{
- target_flags &= ~(MASK_SSSE3 | MASK_SSE4A);
- target_flags_explicit |= MASK_SSSE3 | MASK_SSE4A;
+ target_flags &= ~(MASK_SSSE3 | MASK_SSE4_1 | MASK_SSE4A);
+ target_flags_explicit |= (MASK_SSSE3 | MASK_SSE4_1
+ | MASK_SSE4A);
}
return true;