diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fa2797eea51..89258a3a623 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-05-24 H.J. Lu + + * config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for + -msse/-msse2/-msse3. + 2007-05-24 H.J. Lu * config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 3609dac4715..2b3024cc39b 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;