diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2016-05-20 16:06:39 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2016-05-20 09:06:39 -0700 |
commit | ce3a16ff1f59e6dbf9aa128ede0138927cceee38 (patch) | |
tree | 66d8f41cf7b0bd89915e0be9d9f0bf8baf44ebc9 /gcc/read-rtl.c | |
parent | 92466115766cbe8b053694bc1974f5b5653f7cda (diff) | |
download | gcc-ce3a16ff1f59e6dbf9aa128ede0138927cceee38.zip gcc-ce3a16ff1f59e6dbf9aa128ede0138927cceee38.tar.gz gcc-ce3a16ff1f59e6dbf9aa128ede0138927cceee38.tar.bz2 |
Add -mgeneral-regs-only option
X86 Linux kernel is compiled only with integer instructions. Currently,
-mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -mno-80387
-mno-fp-ret-in-387 -mskip-rax-setup
is used to compile kernel. If we add another non-integer feature, it
has to be turned off. We can add a -mgeneral-regs-only option, similar
to AArch64, to disable all non-integer features so that kernel doesn't
need a long list and the same option will work for future compilers.
It can also be used to compile interrupt handler.
gcc/
PR target/70738
* common/config/i386/i386-common.c
(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
(ix86_handle_option): Disable MPX, MMX, SSE and x87 instructions
for -mgeneral-regs-only.
* config/i386/i386.c (ix86_option_override_internal): Don't
enable x87 instructions if only the general registers are
allowed.
* config/i386/i386.opt: Add -mgeneral-regs-only.
* doc/invoke.texi: Document -mgeneral-regs-only.
gcc/testsuite/
PR target/70738
* gcc.target/i386/pr70738-1.c: Likewise.
* gcc.target/i386/pr70738-2.c: Likewise.
* gcc.target/i386/pr70738-3.c: Likewise.
* gcc.target/i386/pr70738-4.c: Likewise.
* gcc.target/i386/pr70738-5.c: Likewise.
* gcc.target/i386/pr70738-6.c: Likewise.
* gcc.target/i386/pr70738-7.c: Likewise.
* gcc.target/i386/pr70738-8.c: Likewise.
* gcc.target/i386/pr70738-9.c: Likewise.
From-SVN: r236520
Diffstat (limited to 'gcc/read-rtl.c')
0 files changed, 0 insertions, 0 deletions