From 64025b4ec97fe8e932c367c6cb719e5fcf2448e8 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Mon, 2 Jan 2017 16:40:29 +0100 Subject: 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 * 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 * 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 * 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. --- gas/config/tc-s390.c | 8 +- gas/doc/as.texinfo | 2 +- gas/doc/c-s390.texi | 6 +- gas/testsuite/gas/s390/s390.exp | 1 + gas/testsuite/gas/s390/zarch-arch12.d | 200 ++++++++++++++++++++++++++++++++++ gas/testsuite/gas/s390/zarch-arch12.s | 194 +++++++++++++++++++++++++++++++++ gas/testsuite/gas/s390/zarch-z13.d | 12 +- 7 files changed, 411 insertions(+), 12 deletions(-) create mode 100644 gas/testsuite/gas/s390/zarch-arch12.d create mode 100644 gas/testsuite/gas/s390/zarch-arch12.s (limited to 'gas') 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; diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index 0af8569e..8c7fdfd 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -1733,7 +1733,7 @@ Specify which s390 processor variant is the target, @samp{g5} (or @samp{arch3}), @samp{g6}, @samp{z900} (or @samp{arch5}), @samp{z990} (or @samp{arch6}), @samp{z9-109}, @samp{z9-ec} (or @samp{arch7}), @samp{z10} (or @samp{arch8}), @samp{z196} (or @samp{arch9}), @samp{zEC12} (or @samp{arch10}), -or @samp{z13} (or @samp{arch11}). +@samp{z13} (or @samp{arch11}), or @samp{arch12}. @item -mregnames @itemx -mno-regnames Allow or disallow symbolic names for registers. diff --git a/gas/doc/c-s390.texi b/gas/doc/c-s390.texi index 1ecdcf8..2f417cb 100644 --- a/gas/doc/c-s390.texi +++ b/gas/doc/c-s390.texi @@ -14,11 +14,11 @@ @cindex s390 support The s390 version of @code{@value{AS}} supports two architectures modes -and ten chip levels. The architecture modes are the Enterprise System +and eleven chip levels. The architecture modes are the Enterprise System Architecture (ESA) and the newer z/Architecture mode. The chip levels are g5 (or arch3), g6, z900 (or arch5), z990 (or arch6), z9-109, z9-ec -(or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), and -z13 (or arch11). +(or arch7), z10 (or arch8), z196 (or arch9), zEC12 (or arch10), z13 +(or arch11), and arch12. @menu * s390 Options:: Command-line Options. diff --git a/gas/testsuite/gas/s390/s390.exp b/gas/testsuite/gas/s390/s390.exp index bd9dd7d..e6d0754 100644 --- a/gas/testsuite/gas/s390/s390.exp +++ b/gas/testsuite/gas/s390/s390.exp @@ -28,6 +28,7 @@ if [expr [istarget "s390-*-*"] || [istarget "s390x-*-*"]] then { run_dump_test "zarch-z196" "{as -m64} {as -march=z196}" run_dump_test "zarch-zEC12" "{as -m64} {as -march=zEC12}" run_dump_test "zarch-z13" "{as -m64} {as -march=z13}" + run_dump_test "zarch-arch12" "{as -m64} {as -march=arch12}" run_dump_test "zarch-reloc" "{as -m64}" run_dump_test "zarch-operands" "{as -m64} {as -march=z9-109}" run_dump_test "zarch-machine" "{as -m64} {as -march=z900}" diff --git a/gas/testsuite/gas/s390/zarch-arch12.d b/gas/testsuite/gas/s390/zarch-arch12.d new file mode 100644 index 0000000..bc2ce18 --- /dev/null +++ b/gas/testsuite/gas/s390/zarch-arch12.d @@ -0,0 +1,200 @@ +#name: s390x opcode +#objdump: -dr + +.*: +file format .* + +Disassembly of section .text: + +.* : +.*: e7 f1 40 00 06 85 [ ]*vbperm %v15,%v17,%v20 +.*: e7 f6 9f a0 60 04 [ ]*vllezlf %v15,4000\(%r6,%r9\) +.*: e7 f1 4d c0 87 b8 [ ]*vmsl %v15,%v17,%v20,%v24,13,12 +.*: e7 f1 43 d0 87 b8 [ ]*vmslg %v15,%v17,%v20,%v24,13 +.*: e7 f1 40 00 06 6c [ ]*vnx %v15,%v17,%v20 +.*: e7 f1 40 00 06 6e [ ]*vnn %v15,%v17,%v20 +.*: e7 f1 40 00 06 6f [ ]*voc %v15,%v17,%v20 +.*: e7 f1 00 00 04 50 [ ]*vpopctb %v15,%v17 +.*: e7 f1 00 00 14 50 [ ]*vpopcth %v15,%v17 +.*: e7 f1 00 00 24 50 [ ]*vpopctf %v15,%v17 +.*: e7 f1 00 00 34 50 [ ]*vpopctg %v15,%v17 +.*: e7 f1 40 00 26 e3 [ ]*vfasb %v15,%v17,%v20 +.*: e7 f1 40 08 26 e3 [ ]*wfasb %v15,%v17,%v20 +.*: e7 f1 40 08 46 e3 [ ]*wfaxb %v15,%v17,%v20 +.*: e7 f1 00 00 24 cb [ ]*wfcsb %v15,%v17 +.*: e7 f1 00 00 44 cb [ ]*wfcxb %v15,%v17 +.*: e7 f1 00 00 24 ca [ ]*wfksb %v15,%v17 +.*: e7 f1 00 00 44 ca [ ]*wfkxb %v15,%v17 +.*: e7 f1 40 00 26 e8 [ ]*vfcesb %v15,%v17,%v20 +.*: e7 f1 40 10 26 e8 [ ]*vfcesbs %v15,%v17,%v20 +.*: e7 f1 40 08 26 e8 [ ]*wfcesb %v15,%v17,%v20 +.*: e7 f1 40 18 26 e8 [ ]*wfcesbs %v15,%v17,%v20 +.*: e7 f1 40 08 46 e8 [ ]*wfcexb %v15,%v17,%v20 +.*: e7 f1 40 18 46 e8 [ ]*wfcexbs %v15,%v17,%v20 +.*: e7 f1 40 04 26 e8 [ ]*vfkesb %v15,%v17,%v20 +.*: e7 f1 40 14 26 e8 [ ]*vfkesbs %v15,%v17,%v20 +.*: e7 f1 40 0c 26 e8 [ ]*wfkesb %v15,%v17,%v20 +.*: e7 f1 40 1c 26 e8 [ ]*wfkesbs %v15,%v17,%v20 +.*: e7 f1 40 04 36 e8 [ ]*vfkedb %v15,%v17,%v20 +.*: e7 f1 40 14 36 e8 [ ]*vfkedbs %v15,%v17,%v20 +.*: e7 f1 40 0c 36 e8 [ ]*wfkedb %v15,%v17,%v20 +.*: e7 f1 40 1c 36 e8 [ ]*wfkedbs %v15,%v17,%v20 +.*: e7 f1 40 0c 46 e8 [ ]*wfkexb %v15,%v17,%v20 +.*: e7 f1 40 1c 46 e8 [ ]*wfkexbs %v15,%v17,%v20 +.*: e7 f1 40 00 26 eb [ ]*vfchsb %v15,%v17,%v20 +.*: e7 f1 40 10 26 eb [ ]*vfchsbs %v15,%v17,%v20 +.*: e7 f1 40 08 26 eb [ ]*wfchsb %v15,%v17,%v20 +.*: e7 f1 40 18 26 eb [ ]*wfchsbs %v15,%v17,%v20 +.*: e7 f1 40 08 46 eb [ ]*wfchxb %v15,%v17,%v20 +.*: e7 f1 40 18 46 eb [ ]*wfchxbs %v15,%v17,%v20 +.*: e7 f1 40 04 26 eb [ ]*vfkhsb %v15,%v17,%v20 +.*: e7 f1 40 14 26 eb [ ]*vfkhsbs %v15,%v17,%v20 +.*: e7 f1 40 0c 26 eb [ ]*wfkhsb %v15,%v17,%v20 +.*: e7 f1 40 1c 26 eb [ ]*wfkhsbs %v15,%v17,%v20 +.*: e7 f1 40 04 36 eb [ ]*vfkhdb %v15,%v17,%v20 +.*: e7 f1 40 14 36 eb [ ]*vfkhdbs %v15,%v17,%v20 +.*: e7 f1 40 0c 36 eb [ ]*wfkhdb %v15,%v17,%v20 +.*: e7 f1 40 1c 36 eb [ ]*wfkhdbs %v15,%v17,%v20 +.*: e7 f1 40 0c 46 eb [ ]*wfkhxb %v15,%v17,%v20 +.*: e7 f1 40 1c 46 eb [ ]*wfkhxbs %v15,%v17,%v20 +.*: e7 f1 40 00 26 ea [ ]*vfchesb %v15,%v17,%v20 +.*: e7 f1 40 10 26 ea [ ]*vfchesbs %v15,%v17,%v20 +.*: e7 f1 40 08 26 ea [ ]*wfchesb %v15,%v17,%v20 +.*: e7 f1 40 18 26 ea [ ]*wfchesbs %v15,%v17,%v20 +.*: e7 f1 40 08 46 ea [ ]*wfchexb %v15,%v17,%v20 +.*: e7 f1 40 18 46 ea [ ]*wfchexbs %v15,%v17,%v20 +.*: e7 f1 40 04 26 ea [ ]*vfkhesb %v15,%v17,%v20 +.*: e7 f1 40 14 26 ea [ ]*vfkhesbs %v15,%v17,%v20 +.*: e7 f1 40 0c 26 ea [ ]*wfkhesb %v15,%v17,%v20 +.*: e7 f1 40 1c 26 ea [ ]*wfkhesbs %v15,%v17,%v20 +.*: e7 f1 40 04 36 ea [ ]*vfkhedb %v15,%v17,%v20 +.*: e7 f1 40 14 36 ea [ ]*vfkhedbs %v15,%v17,%v20 +.*: e7 f1 40 0c 36 ea [ ]*wfkhedb %v15,%v17,%v20 +.*: e7 f1 40 1c 36 ea [ ]*wfkhedbs %v15,%v17,%v20 +.*: e7 f1 40 0c 46 ea [ ]*wfkhexb %v15,%v17,%v20 +.*: e7 f1 40 1c 46 ea [ ]*wfkhexbs %v15,%v17,%v20 +.*: e7 f1 40 00 26 e5 [ ]*vfdsb %v15,%v17,%v20 +.*: e7 f1 40 08 26 e5 [ ]*wfdsb %v15,%v17,%v20 +.*: e7 f1 40 08 46 e5 [ ]*wfdxb %v15,%v17,%v20 +.*: e7 f1 00 cd 24 c7 [ ]*wfisb %v15,%v17,5,12 +.*: e7 f1 00 cd 24 c7 [ ]*wfisb %v15,%v17,5,12 +.*: e7 f1 00 cd 44 c7 [ ]*wfixb %v15,%v17,5,12 +.*: e7 f1 00 0c d4 c4 [ ]*vfll %v15,%v17,13,12 +.*: e7 f1 00 00 24 c4 [ ]*vflls %v15,%v17 +.*: e7 f1 00 08 24 c4 [ ]*wflls %v15,%v17 +.*: e7 f1 00 08 34 c4 [ ]*wflld %v15,%v17 +.*: e7 f1 00 bc d4 c5 [ ]*vflr %v15,%v17,13,12,11 +.*: e7 f1 00 cd 34 c5 [ ]*wflrd %v15,%v17,5,12 +.*: e7 f1 00 cd 34 c5 [ ]*wflrd %v15,%v17,5,12 +.*: e7 f1 00 cd 44 c5 [ ]*wflrx %v15,%v17,5,12 +.*: e7 f1 40 bc d6 ef [ ]*vfmax %v15,%v17,%v20,13,12,11 +.*: e7 f1 40 d0 26 ef [ ]*vfmaxsb %v15,%v17,%v20,13 +.*: e7 f1 40 d0 36 ef [ ]*vfmaxdb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 26 ef [ ]*wfmaxsb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 36 ef [ ]*wfmaxdb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 46 ef [ ]*wfmaxxb %v15,%v17,%v20,13 +.*: e7 f1 40 bc d6 ee [ ]*vfmin %v15,%v17,%v20,13,12,11 +.*: e7 f1 40 d0 26 ee [ ]*vfminsb %v15,%v17,%v20,13 +.*: e7 f1 40 d0 36 ee [ ]*vfmindb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 26 ee [ ]*wfminsb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 36 ee [ ]*wfmindb %v15,%v17,%v20,13 +.*: e7 f1 40 d8 46 ee [ ]*wfminxb %v15,%v17,%v20,13 +.*: e7 f1 40 00 26 e7 [ ]*vfmsb %v15,%v17,%v20 +.*: e7 f1 40 08 26 e7 [ ]*wfmsb %v15,%v17,%v20 +.*: e7 f1 40 08 46 e7 [ ]*wfmxb %v15,%v17,%v20 +.*: e7 f1 42 00 87 8f [ ]*vfmasb %v15,%v17,%v20,%v24 +.*: e7 f1 42 08 87 8f [ ]*wfmasb %v15,%v17,%v20,%v24 +.*: e7 f1 44 08 87 8f [ ]*wfmaxb %v15,%v17,%v20,%v24 +.*: e7 f1 42 00 87 8e [ ]*vfmssb %v15,%v17,%v20,%v24 +.*: e7 f1 42 08 87 8e [ ]*wfmssb %v15,%v17,%v20,%v24 +.*: e7 f1 44 08 87 8e [ ]*wfmsxb %v15,%v17,%v20,%v24 +.*: e7 f1 4c 0d 87 9f [ ]*vfnma %v15,%v17,%v20,%v24,13,12 +.*: e7 f1 42 00 87 9f [ ]*vfnmasb %v15,%v17,%v20,%v24 +.*: e7 f1 42 08 87 9f [ ]*wfnmasb %v15,%v17,%v20,%v24 +.*: e7 f1 43 00 87 9f [ ]*vfnmadb %v15,%v17,%v20,%v24 +.*: e7 f1 43 08 87 9f [ ]*wfnmadb %v15,%v17,%v20,%v24 +.*: e7 f1 44 08 87 9f [ ]*wfnmaxb %v15,%v17,%v20,%v24 +.*: e7 f1 4c 0d 87 9e [ ]*vfnms %v15,%v17,%v20,%v24,13,12 +.*: e7 f1 42 00 87 9e [ ]*vfnmssb %v15,%v17,%v20,%v24 +.*: e7 f1 42 08 87 9e [ ]*wfnmssb %v15,%v17,%v20,%v24 +.*: e7 f1 43 00 87 9e [ ]*vfnmsdb %v15,%v17,%v20,%v24 +.*: e7 f1 43 08 87 9e [ ]*wfnmsdb %v15,%v17,%v20,%v24 +.*: e7 f1 44 08 87 9e [ ]*wfnmsxb %v15,%v17,%v20,%v24 +.*: e7 f1 00 d0 24 cc [ ]*vfpsosb %v15,%v17,13 +.*: e7 f1 00 d8 24 cc [ ]*wfpsosb %v15,%v17,13 +.*: e7 f1 00 00 24 cc [ ]*vflcsb %v15,%v17 +.*: e7 f1 00 08 24 cc [ ]*wflcsb %v15,%v17 +.*: e7 f1 00 10 24 cc [ ]*vflnsb %v15,%v17 +.*: e7 f1 00 18 24 cc [ ]*wflnsb %v15,%v17 +.*: e7 f1 00 20 24 cc [ ]*vflpsb %v15,%v17 +.*: e7 f1 00 28 24 cc [ ]*wflpsb %v15,%v17 +.*: e7 f1 00 d8 44 cc [ ]*wfpsoxb %v15,%v17,13 +.*: e7 f1 00 08 44 cc [ ]*wflcxb %v15,%v17 +.*: e7 f1 00 18 44 cc [ ]*wflnxb %v15,%v17 +.*: e7 f1 00 28 44 cc [ ]*wflpxb %v15,%v17 +.*: e7 f1 00 00 24 ce [ ]*vfsqsb %v15,%v17 +.*: e7 f1 00 08 24 ce [ ]*wfsqsb %v15,%v17 +.*: e7 f1 00 08 44 ce [ ]*wfsqxb %v15,%v17 +.*: e7 f1 40 00 26 e2 [ ]*vfssb %v15,%v17,%v20 +.*: e7 f1 40 08 26 e2 [ ]*wfssb %v15,%v17,%v20 +.*: e7 f1 40 08 46 e2 [ ]*wfsxb %v15,%v17,%v20 +.*: e7 f1 ff d0 24 4a [ ]*vftcisb %v15,%v17,4093 +.*: e7 f1 ff d8 24 4a [ ]*wftcisb %v15,%v17,4093 +.*: e7 f1 ff d8 44 4a [ ]*wftcixb %v15,%v17,4093 +.*: e3 69 b8 f0 fd 38 [ ]*agh %r6,-10000\(%r9,%r11\) +.*: e3 d6 98 f0 fd 47 [ ]*binh -10000\(%r6,%r9\) +.*: e3 f6 98 f0 fd 47 [ ]*bi -10000\(%r6,%r9\) +.*: e3 16 98 f0 fd 47 [ ]*bio -10000\(%r6,%r9\) +.*: e3 26 98 f0 fd 47 [ ]*bih -10000\(%r6,%r9\) +.*: e3 26 98 f0 fd 47 [ ]*bih -10000\(%r6,%r9\) +.*: e3 36 98 f0 fd 47 [ ]*binle -10000\(%r6,%r9\) +.*: e3 46 98 f0 fd 47 [ ]*bil -10000\(%r6,%r9\) +.*: e3 46 98 f0 fd 47 [ ]*bil -10000\(%r6,%r9\) +.*: e3 56 98 f0 fd 47 [ ]*binhe -10000\(%r6,%r9\) +.*: e3 66 98 f0 fd 47 [ ]*bilh -10000\(%r6,%r9\) +.*: e3 76 98 f0 fd 47 [ ]*bine -10000\(%r6,%r9\) +.*: e3 76 98 f0 fd 47 [ ]*bine -10000\(%r6,%r9\) +.*: e3 86 98 f0 fd 47 [ ]*bie -10000\(%r6,%r9\) +.*: e3 86 98 f0 fd 47 [ ]*bie -10000\(%r6,%r9\) +.*: e3 96 98 f0 fd 47 [ ]*binlh -10000\(%r6,%r9\) +.*: e3 a6 98 f0 fd 47 [ ]*bihe -10000\(%r6,%r9\) +.*: e3 b6 98 f0 fd 47 [ ]*binl -10000\(%r6,%r9\) +.*: e3 b6 98 f0 fd 47 [ ]*binl -10000\(%r6,%r9\) +.*: e3 c6 98 f0 fd 47 [ ]*bile -10000\(%r6,%r9\) +.*: e3 d6 98 f0 fd 47 [ ]*binh -10000\(%r6,%r9\) +.*: e3 d6 98 f0 fd 47 [ ]*binh -10000\(%r6,%r9\) +.*: e3 e6 98 f0 fd 47 [ ]*bino -10000\(%r6,%r9\) +.*: b9 ec b0 69 [ ]*mgrk %r6,%r9,%r11 +.*: e3 69 b8 f0 fd 84 [ ]*mg %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 3c [ ]*mgh %r6,-10000\(%r9,%r11\) +.*: b9 fd b0 69 [ ]*msrkc %r6,%r9,%r11 +.*: b9 ed b0 69 [ ]*msgrkc %r6,%r9,%r11 +.*: e3 69 b8 f0 fd 53 [ ]*msc %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 83 [ ]*msgc %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 39 [ ]*sgh %r6,-10000\(%r9,%r11\) +.*: e6 06 9f a0 f0 37 [ ]*vlrlr %v15,%r6,4000\(%r9\) +.*: e6 fd 6f a0 f0 35 [ ]*vlrl %v15,4000\(%r6\),253 +.*: e6 06 9f a0 f0 3f [ ]*vstrlr %v15,%r6,4000\(%r9\) +.*: e6 fd 6f a0 f0 3d [ ]*vstrl %v15,4000\(%r6\),253 +.*: e6 f1 40 cf d6 71 [ ]*vap %v15,%v17,%v20,253,12 +.*: e6 0f 10 d0 02 77 [ ]*vcp %v15,%v17,13 +.*: e6 6f 00 d0 00 50 [ ]*vcvb %r6,%v15,13 +.*: e6 6f 00 d0 00 52 [ ]*vcvbg %r6,%v15,13 +.*: e6 f6 00 cf d0 58 [ ]*vcvd %v15,%r6,253,12 +.*: e6 f6 00 cf d0 5a [ ]*vcvdg %v15,%r6,253,12 +.*: e6 f1 40 cf d6 7a [ ]*vdp %v15,%v17,%v20,253,12 +.*: e6 f0 ff fd c0 49 [ ]*vlip %v15,65533,12 +.*: e6 f1 40 cf d6 78 [ ]*vmp %v15,%v17,%v20,253,12 +.*: e6 f1 40 cf d6 79 [ ]*vmsp %v15,%v17,%v20,253,12 +.*: e6 fd 6f a0 f0 34 [ ]*vpkz %v15,4000\(%r6\),253 +.*: e6 f1 fc bf d4 5b [ ]*vpsop %v15,%v17,253,252,11 +.*: e6 f1 40 cf d6 7b [ ]*vrp %v15,%v17,%v20,253,12 +.*: e6 f1 40 cf d6 7e [ ]*vsdp %v15,%v17,%v20,253,12 +.*: e6 f1 fc bf d4 59 [ ]*vsrp %v15,%v17,253,252,11 +.*: e6 f1 40 cf d6 73 [ ]*vsp %v15,%v17,%v20,253,12 +.*: e6 0f 00 00 00 5f [ ]*vtp %v15 +.*: e6 fd 6f a0 f0 3c [ ]*vupkz %v15,4000\(%r6\),253 +.*: e3 69 b8 f0 fd 4c [ ]*lgg %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 48 [ ]*llgfsg %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 4d [ ]*lgsc %r6,-10000\(%r9,%r11\) +.*: e3 69 b8 f0 fd 49 [ ]*stgsc %r6,-10000\(%r9,%r11\) +.*: b9 29 90 6b [ ]*kma %r6,%r9,%r11 diff --git a/gas/testsuite/gas/s390/zarch-arch12.s b/gas/testsuite/gas/s390/zarch-arch12.s new file mode 100644 index 0000000..6ebd2fd --- /dev/null +++ b/gas/testsuite/gas/s390/zarch-arch12.s @@ -0,0 +1,194 @@ +.text +foo: + vbperm %v15,%v17,%v20 + vllezlf %v15,4000(%r6,%r9) + vmsl %v15,%v17,%v20,%v24,13,12 + vmslg %v15,%v17,%v20,%v24,13 + vnx %v15,%v17,%v20 + vnn %v15,%v17,%v20 + voc %v15,%v17,%v20 + vpopctb %v15,%v17 + vpopcth %v15,%v17 + vpopctf %v15,%v17 + vpopctg %v15,%v17 + vfasb %v15,%v17,%v20 + wfasb %v15,%v17,%v20 + wfaxb %v15,%v17,%v20 + wfcsb %v15,%v17 + wfcxb %v15,%v17 + wfksb %v15,%v17 + wfkxb %v15,%v17 + vfcesb %v15,%v17,%v20 + vfcesbs %v15,%v17,%v20 + wfcesb %v15,%v17,%v20 + wfcesbs %v15,%v17,%v20 + wfcexb %v15,%v17,%v20 + wfcexbs %v15,%v17,%v20 + vfkesb %v15,%v17,%v20 + vfkesbs %v15,%v17,%v20 + wfkesb %v15,%v17,%v20 + wfkesbs %v15,%v17,%v20 + vfkedb %v15,%v17,%v20 + vfkedbs %v15,%v17,%v20 + wfkedb %v15,%v17,%v20 + wfkedbs %v15,%v17,%v20 + wfkexb %v15,%v17,%v20 + wfkexbs %v15,%v17,%v20 + vfchsb %v15,%v17,%v20 + vfchsbs %v15,%v17,%v20 + wfchsb %v15,%v17,%v20 + wfchsbs %v15,%v17,%v20 + wfchxb %v15,%v17,%v20 + wfchxbs %v15,%v17,%v20 + vfkhsb %v15,%v17,%v20 + vfkhsbs %v15,%v17,%v20 + wfkhsb %v15,%v17,%v20 + wfkhsbs %v15,%v17,%v20 + vfkhdb %v15,%v17,%v20 + vfkhdbs %v15,%v17,%v20 + wfkhdb %v15,%v17,%v20 + wfkhdbs %v15,%v17,%v20 + wfkhxb %v15,%v17,%v20 + wfkhxbs %v15,%v17,%v20 + vfchesb %v15,%v17,%v20 + vfchesbs %v15,%v17,%v20 + wfchesb %v15,%v17,%v20 + wfchesbs %v15,%v17,%v20 + wfchexb %v15,%v17,%v20 + wfchexbs %v15,%v17,%v20 + vfkhesb %v15,%v17,%v20 + vfkhesbs %v15,%v17,%v20 + wfkhesb %v15,%v17,%v20 + wfkhesbs %v15,%v17,%v20 + vfkhedb %v15,%v17,%v20 + vfkhedbs %v15,%v17,%v20 + wfkhedb %v15,%v17,%v20 + wfkhedbs %v15,%v17,%v20 + wfkhexb %v15,%v17,%v20 + wfkhexbs %v15,%v17,%v20 + vfdsb %v15,%v17,%v20 + wfdsb %v15,%v17,%v20 + wfdxb %v15,%v17,%v20 + vfisb %v15,%v17,13,12 + wfisb %v15,%v17,13,12 + wfixb %v15,%v17,13,12 + vfll %v15,%v17,13,12 + vflls %v15,%v17 + wflls %v15,%v17 + wflld %v15,%v17 + vflr %v15,%v17,13,12,11 + vflrd %v15,%v17,13,12 + wflrd %v15,%v17,13,12 + wflrx %v15,%v17,13,12 + vfmax %v15,%v17,%v20,13,12,11 + vfmaxsb %v15,%v17,%v20,13 + vfmaxdb %v15,%v17,%v20,13 + wfmaxsb %v15,%v17,%v20,13 + wfmaxdb %v15,%v17,%v20,13 + wfmaxxb %v15,%v17,%v20,13 + vfmin %v15,%v17,%v20,13,12,11 + vfminsb %v15,%v17,%v20,13 + vfmindb %v15,%v17,%v20,13 + wfminsb %v15,%v17,%v20,13 + wfmindb %v15,%v17,%v20,13 + wfminxb %v15,%v17,%v20,13 + vfmsb %v15,%v17,%v20 + wfmsb %v15,%v17,%v20 + wfmxb %v15,%v17,%v20 + vfmasb %v15,%v17,%v20,%v24 + wfmasb %v15,%v17,%v20,%v24 + wfmaxb %v15,%v17,%v20,%v24 + vfmssb %v15,%v17,%v20,%v24 + wfmssb %v15,%v17,%v20,%v24 + wfmsxb %v15,%v17,%v20,%v24 + vfnma %v15,%v17,%v20,%v24,13,12 + vfnmasb %v15,%v17,%v20,%v24 + wfnmasb %v15,%v17,%v20,%v24 + vfnmadb %v15,%v17,%v20,%v24 + wfnmadb %v15,%v17,%v20,%v24 + wfnmaxb %v15,%v17,%v20,%v24 + vfnms %v15,%v17,%v20,%v24,13,12 + vfnmssb %v15,%v17,%v20,%v24 + wfnmssb %v15,%v17,%v20,%v24 + vfnmsdb %v15,%v17,%v20,%v24 + wfnmsdb %v15,%v17,%v20,%v24 + wfnmsxb %v15,%v17,%v20,%v24 + vfpsosb %v15,%v17,13 + wfpsosb %v15,%v17,13 + vflcsb %v15,%v17 + wflcsb %v15,%v17 + vflnsb %v15,%v17 + wflnsb %v15,%v17 + vflpsb %v15,%v17 + wflpsb %v15,%v17 + wfpsoxb %v15,%v17,13 + wflcxb %v15,%v17 + wflnxb %v15,%v17 + wflpxb %v15,%v17 + vfsqsb %v15,%v17 + wfsqsb %v15,%v17 + wfsqxb %v15,%v17 + vfssb %v15,%v17,%v20 + wfssb %v15,%v17,%v20 + wfsxb %v15,%v17,%v20 + vftcisb %v15,%v17,4093 + wftcisb %v15,%v17,4093 + wftcixb %v15,%v17,4093 + agh %r6,-10000(%r9,%r11) + bic 13,-10000(%r6,%r9) + bi -10000(%r6,%r9) + bio -10000(%r6,%r9) + bih -10000(%r6,%r9) + bip -10000(%r6,%r9) + binle -10000(%r6,%r9) + bil -10000(%r6,%r9) + bim -10000(%r6,%r9) + binhe -10000(%r6,%r9) + bilh -10000(%r6,%r9) + bine -10000(%r6,%r9) + binz -10000(%r6,%r9) + bie -10000(%r6,%r9) + biz -10000(%r6,%r9) + binlh -10000(%r6,%r9) + bihe -10000(%r6,%r9) + binl -10000(%r6,%r9) + binm -10000(%r6,%r9) + bile -10000(%r6,%r9) + binh -10000(%r6,%r9) + binp -10000(%r6,%r9) + bino -10000(%r6,%r9) + mgrk %r6,%r9,%r11 + mg %r6,-10000(%r9,%r11) + mgh %r6,-10000(%r9,%r11) + msrkc %r6,%r9,%r11 + msgrkc %r6,%r9,%r11 + msc %r6,-10000(%r9,%r11) + msgc %r6,-10000(%r9,%r11) + sgh %r6,-10000(%r9,%r11) + vlrlr %v15,%r6,4000(%r9) + vlrl %v15,4000(%r6),253 + vstrlr %v15,%r6,4000(%r9) + vstrl %v15,4000(%r6),253 + vap %v15,%v17,%v20,253,12 + vcp %v15,%v17,13 + vcvb %r6,%v15,13 + vcvbg %r6,%v15,13 + vcvd %v15,%r6,253,12 + vcvdg %v15,%r6,253,12 + vdp %v15,%v17,%v20,253,12 + vlip %v15,65533,12 + vmp %v15,%v17,%v20,253,12 + vmsp %v15,%v17,%v20,253,12 + vpkz %v15,4000(%r6),253 + vpsop %v15,%v17,253,252,11 + vrp %v15,%v17,%v20,253,12 + vsdp %v15,%v17,%v20,253,12 + vsrp %v15,%v17,253,252,11 + vsp %v15,%v17,%v20,253,12 + vtp %v15 + vupkz %v15,4000(%r6),253 + lgg %r6,-10000(%r9,%r11) + llgfsg %r6,-10000(%r9,%r11) + lgsc %r6,-10000(%r9,%r11) + stgsc %r6,-10000(%r9,%r11) + kma %r6,%r9,%r11 diff --git a/gas/testsuite/gas/s390/zarch-z13.d b/gas/testsuite/gas/s390/zarch-z13.d index 7a4583a..c8d8ce8 100644 --- a/gas/testsuite/gas/s390/zarch-z13.d +++ b/gas/testsuite/gas/s390/zarch-z13.d @@ -513,12 +513,12 @@ Disassembly of section .text: .*: e7 f1 00 bc d4 c7 [ ]*vfi %v15,%v17,13,12,11 .*: e7 f1 00 cd 34 c7 [ ]*wfidb %v15,%v17,5,12 .*: e7 f1 00 cd 34 c7 [ ]*wfidb %v15,%v17,5,12 -.*: e7 f1 00 0c d4 c4 [ ]*vlde %v15,%v17,13,12 -.*: e7 f1 00 00 24 c4 [ ]*vldeb %v15,%v17 -.*: e7 f1 00 08 24 c4 [ ]*wldeb %v15,%v17 -.*: e7 f1 00 bc d4 c5 [ ]*vled %v15,%v17,13,12,11 -.*: e7 f1 00 cd 34 c5 [ ]*wledb %v15,%v17,5,12 -.*: e7 f1 00 cd 34 c5 [ ]*wledb %v15,%v17,5,12 +.*: e7 f1 00 0c d4 c4 [ ]*vfll %v15,%v17,13,12 +.*: e7 f1 00 00 24 c4 [ ]*vflls %v15,%v17 +.*: e7 f1 00 08 24 c4 [ ]*wflls %v15,%v17 +.*: e7 f1 00 bc d4 c5 [ ]*vflr %v15,%v17,13,12,11 +.*: e7 f1 00 cd 34 c5 [ ]*wflrd %v15,%v17,5,12 +.*: e7 f1 00 cd 34 c5 [ ]*wflrd %v15,%v17,5,12 .*: e7 f1 40 0c d6 e7 [ ]*vfm %v15,%v17,%v20,13,12 .*: e7 f1 40 00 36 e7 [ ]*vfmdb %v15,%v17,%v20 .*: e7 f1 40 08 36 e7 [ ]*wfmdb %v15,%v17,%v20 -- cgit v1.1