Add support for extensions in the .machine pseudoop on S/390, e.g. ".machine zEC12...
authorDominik Vogt <vogt@linux.vnet.ibm.com>
Tue, 29 Sep 2015 12:22:07 +0000 (13:22 +0100)
committerNick Clifton <nickc@redhat.com>
Tue, 29 Sep 2015 12:22:07 +0000 (13:22 +0100)
commit7ecc513a44095d614f10e89c67d9be5826abacf9
tree150a49774f29ce8a95989942d9780c3edc10bf17
parent56e6cf80bd4be6dc95ed9b84b633e3c11ae8c86b
Add support for extensions in the .machine pseudoop on S/390, e.g. ".machine zEC12+nohtm+vx"

gas * doc/c-s390.texi: Add documentation.
Add missing code markup.
* config/tc-s390.c (current_flags): New static variable.
(s390_parse_cpu): Parse cpu flags a la "+nohtm" etc.
(s390_setup_opcodes): Use cpu flags to determine the set of opcodes.
Fix indentation.
(md_parse_option): Call s390_parse_cpu with the new signature.
(s390_machine): Likewise.
Keep track of current_flags.
Simplify code a bit.
undefine MAX_HISTORY at end of function.
(s390_machinemode): undefine MAX_HISTORY at end of function.
Update an error message.

tests * gas/s390/s390.exp: Add new tests.
* gas/s390/machine-parsing-1.s: New test file.
* gas/s390/machine-parsing-1.l: Likewise.
* gas/s390/machine-parsing-2.s: Likewise.
* gas/s390/machine-parsing-2.l: Likewise.
* gas/s390/machine-parsing-3.s: Likewise.
* gas/s390/machine-parsing-3.l: Likewise.
* gas/s390/machine-parsing-4.s: Likewise.
* gas/s390/machine-parsing-4.l: Likewise.
* gas/s390/machine-parsing-5.s: Likewise.
* gas/s390/machine-parsing-5.l: Likewise.
* gas/s390/machine-parsing-6.s: Likewise.
* gas/s390/machine-parsing-6.l: Likewise.

opcode * s390.h (S390_INSTR_FLAG_HTM): New flag.
(S390_INSTR_FLAG_VX): New flag.
(S390_INSTR_FLAG_FACILITY_MASK): New flag mask.

opcodes * s390-mkopc.c (main): Parse htm and vx flag.
* s390-opc.txt: Mark instructions from the hardware transactional
memory and vector facilities with the "htm"/"vx" flag.
22 files changed:
gas/ChangeLog
gas/config/tc-s390.c
gas/doc/c-s390.texi
gas/testsuite/ChangeLog
gas/testsuite/gas/s390/machine-parsing-1.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-1.s [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-2.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-2.s [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-3.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-3.s [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-4.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-4.s [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-5.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-5.s [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-6.l [new file with mode: 0644]
gas/testsuite/gas/s390/machine-parsing-6.s [new file with mode: 0644]
gas/testsuite/gas/s390/s390.exp
include/opcode/ChangeLog
include/opcode/s390.h
opcodes/ChangeLog
opcodes/s390-mkopc.c
opcodes/s390-opc.txt