Reimplement .no87/.nommx/.nosse/.noavx directives
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 25 May 2016 17:25:50 +0000 (10:25 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 25 May 2016 17:26:13 +0000 (10:26 -0700)
commit293f5f65435c4d309cbf463e941a8bd5ae50c02d
treec0c93348eac3447290bec0b2ac2e36ce64e4972a
parente6cc316af931911da20249e19f9342e5cf8aeeff
Reimplement .no87/.nommx/.nosse/.noavx directives

Move all .noXXX directives to cpu_noarch.

gas/

* config/tc-i386.c (arch_entry): Remove negated.
(noarch_entry): New struct.
(cpu_arch): Updated.  Remove .no87, .nommx, .nosse and .noavx.
(cpu_noarch): New.
(set_cpu_arch): Check cpu_noarch after cpu_arch.
(md_parse_option): Allow -march=+nosse.  Check cpu_noarch after
cpu_arch.
(output_message): New function.
(show_arch): Use it.  Handle cpu_noarch.
* testsuite/gas/i386/i386.exp: Run nommx-1, nommx-2, nommx-3,
nosse-1, nosse-2, nosse-3, noavx-1 and noavx-2.
* testsuite/gas/i386/noavx-1.l: New file.
* testsuite/gas/i386/noavx-1.s: Likewise.
* testsuite/gas/i386/noavx-2.s: Likewise.
* testsuite/gas/i386/noavx-2.l: Likewise.
* testsuite/gas/i386/nommx-1.s: Likewise.
* testsuite/gas/i386/nommx-1.l: Likewise.
* testsuite/gas/i386/nommx-2.s: Likewise.
* testsuite/gas/i386/nommx-2.l: Likewise.
* testsuite/gas/i386/nommx-3.s: Likewise.
* testsuite/gas/i386/nommx-3.l: Likewise.
* testsuite/gas/i386/nosse-1.s: Likewise.
* testsuite/gas/i386/nosse-1.l: Likewise.
* testsuite/gas/i386/nosse-2.s: Likewise.
* testsuite/gas/i386/nosse-2.l: Likewise.
* testsuite/gas/i386/nosse-3.s: Likewise.
* testsuite/gas/i386/nosse-3.l: Likewise.

opcodes/

* i386-gen.c (cpu_flag_init): Rename CPU_ANY87_FLAGS to
CPU_ANY_X87_FLAGS.  Add CPU_ANY_MMX_FLAGS.
* i386-init.h: Regenerated.
22 files changed:
gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/i386.exp
gas/testsuite/gas/i386/noavx-1.l [new file with mode: 0644]
gas/testsuite/gas/i386/noavx-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/noavx-2.l [new file with mode: 0644]
gas/testsuite/gas/i386/noavx-2.s [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-1.l [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-2.l [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-2.s [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-3.l [new file with mode: 0644]
gas/testsuite/gas/i386/nommx-3.s [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-1.l [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-1.s [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-2.l [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-2.s [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-3.l [new file with mode: 0644]
gas/testsuite/gas/i386/nosse-3.s [new file with mode: 0644]
opcodes/ChangeLog
opcodes/i386-gen.c
opcodes/i386-init.h