OSDN Git Service

2007-04-07 H.J. Lu <hongjiu.lu@intel.com>
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Apr 2007 15:58:00 +0000 (15:58 +0000)
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 7 Apr 2007 15:58:00 +0000 (15:58 +0000)
* config/i386/i386.c (ix86_handle_option): Handle SSSE3.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123639 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/i386/i386.c

index e6e5b7a..886b460 100644 (file)
@@ -1,3 +1,7 @@
+2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_handle_option): Handle SSSE3.
+
 2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
 
        * tree.c (staticp): No longer use staticp langhook.
index 0429232..aaa8ea8 100644 (file)
@@ -1571,22 +1571,32 @@ ix86_handle_option (size_t code, const char *arg ATTRIBUTE_UNUSED, int value)
     case OPT_msse:
       if (!value)
        {
-         target_flags &= ~(MASK_SSE2 | MASK_SSE3 | MASK_SSE4A);
-         target_flags_explicit |= MASK_SSE2 | MASK_SSE3 | MASK_SSE4A;
+         target_flags &= ~(MASK_SSE2 | MASK_SSE3 | MASK_SSSE3
+                           | MASK_SSE4A);
+         target_flags_explicit |= (MASK_SSE2 | MASK_SSE3 | MASK_SSSE3
+                                   | MASK_SSE4A);
        }
       return true;
 
     case OPT_msse2:
       if (!value)
        {
-         target_flags &= ~(MASK_SSE3 | MASK_SSE4A);
-         target_flags_explicit |= MASK_SSE3 | MASK_SSE4A;
+         target_flags &= ~(MASK_SSE3 | MASK_SSSE3 | MASK_SSE4A);
+         target_flags_explicit |= MASK_SSE3 | MASK_SSSE3 | MASK_SSE4A;
        }
       return true;
 
     case OPT_msse3:
       if (!value)
        {
+         target_flags &= ~(MASK_SSSE3 | MASK_SSE4A);
+         target_flags_explicit |= MASK_SSSE3 | MASK_SSE4A;
+       }
+      return true;
+
+    case OPT_mssse3:
+      if (!value)
+       {
          target_flags &= ~MASK_SSE4A;
          target_flags_explicit |= MASK_SSE4A;
        }