aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2007-05-24 13:31:05 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2007-05-24 06:31:05 -0700
commit66da42bc85b1004d6ad17b514673a9eea6fa0eb2 (patch)
tree4006ffe2d179c3fbc8484fb0643ebb5db4fa30d3
parent5691b85a26be65c19f064fa9b0d464df6de6a43e (diff)
downloadgcc-66da42bc85b1004d6ad17b514673a9eea6fa0eb2.zip
gcc-66da42bc85b1004d6ad17b514673a9eea6fa0eb2.tar.gz
gcc-66da42bc85b1004d6ad17b514673a9eea6fa0eb2.tar.bz2
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_handle_option): Handle SSE4.1 for -msse/-msse2/-msse3. From-SVN: r125023
-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;