No functional changes. 2019-02-15 Uroš Bizjak <ubiz...@gmail.com>
* config/i386/i386.h (TARGET_SUBTARGET64_ISA_DEFAULT): Enable MMX, SSE and SSE2 by default. * config/i386/i386.c (ix86_option_override_internal): Do not explicitly set MMX, SSE and SSE2 flags for TARGET_64BIT here. Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. Committed to mainline SVN. Uros.
Index: config/i386/i386.c =================================================================== --- config/i386/i386.c (revision 268907) +++ config/i386/i386.c (working copy) @@ -4165,14 +4165,9 @@ ix86_option_override_internal (bool main_args_p, opts->x_target_flags |= TARGET_SUBTARGET64_DEFAULT & ~opts_set->x_target_flags; - /* Enable by default the SSE and MMX builtins. Do allow the user to - explicitly disable any of these. In particular, disabling SSE and - MMX for kernel code is extremely useful. */ if (!ix86_arch_specified) - opts->x_ix86_isa_flags - |= ((OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_SSE | OPTION_MASK_ISA_MMX - | TARGET_SUBTARGET64_ISA_DEFAULT) - & ~opts->x_ix86_isa_flags_explicit); + opts->x_ix86_isa_flags + |= TARGET_SUBTARGET64_ISA_DEFAULT & ~opts->x_ix86_isa_flags_explicit; if (TARGET_RTD_P (opts->x_target_flags)) warning (0, Index: config/i386/i386.h =================================================================== --- config/i386/i386.h (revision 268907) +++ config/i386/i386.h (working copy) @@ -633,7 +633,9 @@ extern tree x86_mfence; /* Extra bits to force on w/ 64-bit mode. */ #define TARGET_SUBTARGET64_DEFAULT 0 -#define TARGET_SUBTARGET64_ISA_DEFAULT 0 +/* Enable MMX, SSE and SSE2 by default. */ +#define TARGET_SUBTARGET64_ISA_DEFAULT \ + (OPTION_MASK_ISA_MMX | OPTION_MASK_ISA_SSE | OPTION_MASK_ISA_SSE2) /* Replace MACH-O, ifdefs by in-line tests, where possible. (a) Macros defined in config/i386/darwin.h */