Also turn off OPTION_MASK_ABI_X32 for -m16
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 11 Sep 2014 22:18:06 +0000 (22:18 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 11 Sep 2014 22:18:06 +0000 (15:18 -0700)
PR target/63228
* config/i386/i386.c (ix86_option_override_internal): Also turn
off OPTION_MASK_ABI_X32 for -m16.

From-SVN: r215194

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

index 234ea60833080062411a2383f561090b36173e35..1b0700417ec269dea3ea205398cc16dd889e067e 100644 (file)
@@ -1,3 +1,9 @@
+2014-09-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/63228
+       * config/i386/i386.c (ix86_option_override_internal): Also turn
+       off OPTION_MASK_ABI_X32 for -m16.
+
 2014-09-11  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/rs6000.md (rs6000_mftb_<mode>): Use mode iterator
index 8f45e52d9f3f38e41d9d9644f8f0932ce22ceaf9..cb308c9ee959cdaa7de6f418ea9a0d1904a5ebfd 100644 (file)
@@ -3346,8 +3346,9 @@ ix86_option_override_internal (bool main_args_p,
       /* When TARGET_BI_ARCH == 2, by default, OPTION_MASK_ABI_X32 is
         on and OPTION_MASK_ABI_64 is off.  We turn off
         OPTION_MASK_ABI_X32 if OPTION_MASK_ABI_64 is turned on by
-        -m64.  */
-      if (TARGET_LP64_P (opts->x_ix86_isa_flags))
+        -m64 or OPTION_MASK_CODE16 is turned on by -m16.  */
+      if (TARGET_LP64_P (opts->x_ix86_isa_flags)
+         || TARGET_16BIT_P (opts->x_ix86_isa_flags))
        opts->x_ix86_isa_flags &= ~OPTION_MASK_ABI_X32;
 #endif
     }