diff options
author | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-01-02 16:40:29 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2017-02-23 18:27:38 +0100 |
commit | 64025b4ec97fe8e932c367c6cb719e5fcf2448e8 (patch) | |
tree | f554076ffd3f22091fffb3c0cdf1d1b5305a32cd /gas/config | |
parent | 14bc53a81471e0b550de1c24d4d5266f676aacc3 (diff) | |
download | gdb-64025b4ec97fe8e932c367c6cb719e5fcf2448e8.zip gdb-64025b4ec97fe8e932c367c6cb719e5fcf2448e8.tar.gz gdb-64025b4ec97fe8e932c367c6cb719e5fcf2448e8.tar.bz2 |
S/390: Add support for new cpu architecture - arch12.
This adds support of new instructions to the S/390 specific parts.
The important feature of the new instruction set is the support of
single and extended precision floating point vector operations.
Note: arch12 is NOT the official name of the new CPU. It just
continues the series of archXX options supported as alternate names.
The archXX terminology refers to the edition number of the Principle
of Operations manual. The official CPU name will be added later while
keeping support of the arch12 for backwards compatibility.
No testsuite regressions.
Committed to mainline.
Bye,
-Andreas-
opcodes/ChangeLog:
2017-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* s390-mkopc.c (main): Accept arch12 as cpu string and vx2 as
facility.
* s390-opc.c: Add new operand description macros, new instruction
types, instruction masks, and new .insn instruction types.
* s390-opc.txt: Add new arch12 instructions.
include/ChangeLog:
2017-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* opcode/s390.h (enum s390_opcode_cpu_val): New value
S390_OPCODE_ARCH12.
(S390_INSTR_FLAG_VX2): New macro definition.
gas/ChangeLog:
2017-02-23 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/tc-s390.c (s390_parse_cpu): New entry for arch12.
* doc/as.texinfo: Document arch12 as cpu type.
* doc/c-s390.texi: Likewise.
* testsuite/gas/s390/s390.exp: Run arch12 specific tests.
* testsuite/gas/s390/zarch-arch12.d: New test.
* testsuite/gas/s390/zarch-arch12.s: New test.
* testsuite/gas/s390/zarch-z13.d: Rename some mnemonics in the
output patterns.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-s390.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index 25cc4ef..e3ff9cc 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -289,7 +289,9 @@ s390_parse_cpu (const char * arg, { STRING_COMMA_LEN ("zEC12"), STRING_COMMA_LEN ("arch10"), S390_INSTR_FLAG_HTM }, { STRING_COMMA_LEN ("z13"), STRING_COMMA_LEN ("arch11"), - S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX } + S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX }, + { STRING_COMMA_LEN ("arch12"), STRING_COMMA_LEN (""), + S390_INSTR_FLAG_HTM | S390_INSTR_FLAG_VX | S390_INSTR_FLAG_VX2 } }; static struct { @@ -301,7 +303,9 @@ s390_parse_cpu (const char * arg, { "htm", S390_INSTR_FLAG_HTM, TRUE }, { "nohtm", S390_INSTR_FLAG_HTM, FALSE }, { "vx", S390_INSTR_FLAG_VX, TRUE }, - { "novx", S390_INSTR_FLAG_VX, FALSE } + { "novx", S390_INSTR_FLAG_VX, FALSE }, + { "vx2", S390_INSTR_FLAG_VX2, TRUE }, + { "novx2", S390_INSTR_FLAG_VX2, FALSE } }; unsigned int icpu; char *ilp_bak; |