[i386] : Enable MMX, SSE and SSE2 by default in TARGET_SUBTARGET64_ISA_DEFAULT

Message ID CAFULd4ai0DYUKnDA4tP4=6c6Y3qfixwxRy9u-G+-e2otnYwWuw@mail.gmail.com
State New
Headers show
Series
  • [i386] : Enable MMX, SSE and SSE2 by default in TARGET_SUBTARGET64_ISA_DEFAULT
Related show

Commit Message

Uros Bizjak Feb. 14, 2019, 11:56 p.m.
No functional changes.

2019-02-15  UroŇ° Bizjak  <ubizjak@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.

Patch

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  */