aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-01-02 16:40:29 +0100
committerAndreas Krebbel <krebbel@linux.vnet.ibm.com>2017-02-23 18:27:38 +0100
commit64025b4ec97fe8e932c367c6cb719e5fcf2448e8 (patch)
treef554076ffd3f22091fffb3c0cdf1d1b5305a32cd /include
parent14bc53a81471e0b550de1c24d4d5266f676aacc3 (diff)
downloadfsf-binutils-gdb-64025b4ec97fe8e932c367c6cb719e5fcf2448e8.zip
fsf-binutils-gdb-64025b4ec97fe8e932c367c6cb719e5fcf2448e8.tar.gz
fsf-binutils-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 'include')
-rw-r--r--include/opcode/s390.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/opcode/s390.h b/include/opcode/s390.h
index c38495e..7ce5616 100644
--- a/include/opcode/s390.h
+++ b/include/opcode/s390.h
@@ -42,14 +42,17 @@ enum s390_opcode_cpu_val
S390_OPCODE_Z196,
S390_OPCODE_ZEC12,
S390_OPCODE_Z13,
+ S390_OPCODE_ARCH12,
S390_OPCODE_MAXCPU
};
/* 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
+#define S390_INSTR_FLAG_VX2 0x8
+#define S390_INSTR_FLAG_FACILITY_MASK 0xe
/* The opcode table is an array of struct s390_opcode. */