diff options
author | Dominik Vogt <vogt@linux.vnet.ibm.com> | 2015-09-29 13:22:07 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-09-29 13:22:07 +0100 |
commit | 7ecc513a44095d614f10e89c67d9be5826abacf9 (patch) | |
tree | 150a49774f29ce8a95989942d9780c3edc10bf17 /include | |
parent | 56e6cf80bd4be6dc95ed9b84b633e3c11ae8c86b (diff) | |
download | gdb-7ecc513a44095d614f10e89c67d9be5826abacf9.zip gdb-7ecc513a44095d614f10e89c67d9be5826abacf9.tar.gz gdb-7ecc513a44095d614f10e89c67d9be5826abacf9.tar.bz2 |
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.
Diffstat (limited to 'include')
-rw-r--r-- | include/opcode/ChangeLog | 6 | ||||
-rw-r--r-- | include/opcode/s390.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog index 44fc32c..aa5ea1c 100644 --- a/include/opcode/ChangeLog +++ b/include/opcode/ChangeLog @@ -1,3 +1,9 @@ +2015-09-29 Dominik Vogt <vogt@linux.vnet.ibm.com> + + * s390.h (S390_INSTR_FLAG_HTM): New flag. + (S390_INSTR_FLAG_VX): New flag. + (S390_INSTR_FLAG_FACILITY_MASK): New flag mask. + 2015-09-23 Nick Clifton <nickc@redhat.com> * ppc.h (PPC_OPSHIFT_INV): Use an unsigned constant when left diff --git a/include/opcode/s390.h b/include/opcode/s390.h index b47709c..63797d8 100644 --- a/include/opcode/s390.h +++ b/include/opcode/s390.h @@ -47,6 +47,9 @@ enum s390_opcode_cpu_val /* Instruction specific flags. */ #define S390_INSTR_FLAG_OPTPARM 0x1 +#define S390_INSTR_FLAG_HTM 0x2 +#define S390_INSTR_FLAG_VX 0x4 +#define S390_INSTR_FLAG_FACILITY_MASK 0x6 /* The opcode table is an array of struct s390_opcode. */ |