aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2014-09-11 22:18:06 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2014-09-11 15:18:06 -0700
commitbc9132dee6c4a8a4348a15ad62772d632351388b (patch)
treefad9e86471430f0553d65d08bc08622576f6d1f0
parent7043e9680c4d984ee0e80caa21be94bf6854ff05 (diff)
downloadgcc-bc9132dee6c4a8a4348a15ad62772d632351388b.zip
gcc-bc9132dee6c4a8a4348a15ad62772d632351388b.tar.gz
gcc-bc9132dee6c4a8a4348a15ad62772d632351388b.tar.bz2
Also turn off OPTION_MASK_ABI_X32 for -m16
PR target/63228 * config/i386/i386.c (ix86_option_override_internal): Also turn off OPTION_MASK_ABI_X32 for -m16. From-SVN: r215194
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 234ea60..1b07004 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8f45e52..cb308c9 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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
}