H.J. Lu
bd5dea8822
x86: Remove support for old (<= 2.8.1) versions of gcc
Old (<= 2.8.1) versions of gcc generate broken fsubp, fsubrp, fdivp and
fdivrp instructions. Assembler translates them to correct ones with a
warning:
[hjl@gnu-cfl-1 gas]$ cat x.s
fsubp %st(3),%st
[hjl@gnu-cfl-1 gas]$ gcc -c x.s
x.s: Assembler messages:
x.s:1: Warning: translating to `fsubp %st,%st(3)'
[hjl@gnu-cfl-1 gas]$
This patch removes support for old (<= 2.8.1) versions of gcc:
[hjl@gnu-cfl-1 gas]$ ./as-new -o x.o x.s
x.s: Assembler messages:
x.s:1: Error: operand type mismatch for `fsubp'
[hjl@gnu-cfl-1 gas]$
gas/
* NEWS: Mention -mold-gcc removal.
* config/tc-i386.c (i386_error): Remove old_gcc_only.
(old_gcc): Removed.
(match_template): Remove old gcc support.
(OPTION_MOLD_GCC): Removed.
(OPTION_MRELAX_RELOCATIONS): Updated.
(md_longopts): Remove OPTION_MOLD_GCC.
(md_parse_option): Likewise.
(md_show_usage): Remove -mold-gcc.
* testsuite/gas/i386/general.s: Convert fsub/fdiv tests for old
(<= 2.8.1) versions of gcc.
* testsuite/gas/i386/intel.s: Likewise.
* testsuite/gas/i386/general.l: Updated.
* testsuite/gas/i386/intel-intel.d: Likewise.
* testsuite/gas/i386/intel.d: Likewise.
* testsuite/gas/i386/intel.e: Likewise.
* testsuite/gas/i386/i386.exp: Don't pass -mold-gcc to general.
include/
* opcode/i386 (OLDGCC_COMPAT): Removed.
opcodes/
* i386-gen.c (opcode_modifiers): Remove OldGcc.
* i386-opc.h (OldGcc): Removed.
(i386_opcode_modifier): Remove oldgcc.
* i386-opc.tbl: Remove fsubp, fsubrp, fdivp and fdivrp
instructions for old (<= 2.8.1) versions of gcc.
* i386-tbl.h: Regenerated.
2018-03-08 06:31:52 -08:00
..
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-02-12 13:15:56 +00:00
2018-01-03 17:49:56 +10:30
2018-01-02 07:38:06 +04:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-03-08 06:31:52 -08:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-11 19:01:52 -08:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-03-08 06:31:52 -08:00
2016-01-01 22:59:17 +10:30
2017-01-02 13:55:05 +10:30
2018-01-03 17:49:42 +10:30
2012-12-10 12:48:03 +00:00
2007-07-17 13:50:23 +00:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-02-22 13:56:46 -08:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2011-07-25 17:11:48 +00:00
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30
2018-01-03 17:49:56 +10:30