aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2001-09-18 15:41:33 +0000
committerNick Clifton <nickc@redhat.com>2001-09-18 15:41:33 +0000
commitb6849f55b93759fa93a28c749cee6b799000067e (patch)
tree81746f85b1463c2b72ecb67aa1b9a234d5e77b84 /gas
parent55c808902f95f3394179ca67a0e54dea4d1c8cdb (diff)
downloadgdb-b6849f55b93759fa93a28c749cee6b799000067e.zip
gdb-b6849f55b93759fa93a28c749cee6b799000067e.tar.gz
gdb-b6849f55b93759fa93a28c749cee6b799000067e.tar.bz2
s390 assembler improvements and testsuite
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-s390.c13
-rw-r--r--gas/testsuite/ChangeLog23
-rw-r--r--gas/testsuite/gas/s390/opcode.d425
-rw-r--r--gas/testsuite/gas/s390/opcode.s419
-rw-r--r--gas/testsuite/gas/s390/opcode64.d211
-rw-r--r--gas/testsuite/gas/s390/opcode64.s205
-rw-r--r--gas/testsuite/gas/s390/operands.d23
-rw-r--r--gas/testsuite/gas/s390/operands.s16
-rw-r--r--gas/testsuite/gas/s390/operands64.d14
-rw-r--r--gas/testsuite/gas/s390/operands64.s6
-rw-r--r--gas/testsuite/gas/s390/reloc.d31
-rw-r--r--gas/testsuite/gas/s390/reloc.s14
-rw-r--r--gas/testsuite/gas/s390/reloc64.d20
-rw-r--r--gas/testsuite/gas/s390/reloc64.s9
-rw-r--r--gas/testsuite/gas/s390/s390.exp35
16 files changed, 1461 insertions, 8 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8c4844f..ce8567d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * tc-s390.c (s390_insn): Add code to cope with 6 byte O_constants
+ in 64 bit mode and make format "e" work.
+
2001-09-18 Alan Modra <amodra@bigpond.net.au>
* dwarf2dbg.c (dwarf2_directive_file): Avoid signed/unsigned warning.
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 7bdf65e..6b93796 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -1354,8 +1354,9 @@ s390_insn (ignore)
expression (&exp);
if (exp.X_op == O_constant)
{
- if (opformat->oplen == 4 ||
- (opformat->oplen == 2 && exp.X_op < 0x10000))
+ if ((opformat->oplen == 6 && exp.X_op > 0 && exp.X_op < (1ULL << 48)) ||
+ (opformat->oplen == 4 && exp.X_op > 0 && exp.X_op < (1ULL << 32)) ||
+ (opformat->oplen == 2 && exp.X_op > 0 && exp.X_op < (1ULL << 16)))
md_number_to_chars (insn, exp.X_add_number, opformat->oplen);
else
as_bad (_("Invalid .insn format\n"));
@@ -1375,12 +1376,14 @@ s390_insn (ignore)
}
else
as_bad (_("second operand of .insn not a constant\n"));
- if (*input_line_pointer++ != ',')
- as_bad (_("missing comma after insn constant\n"));
+ if (strcmp (opformat->name, "e") != 0 && *input_line_pointer++ != ',')
+ as_bad (_("missing comma after insn constant\n"));
+
if ((s = strchr (input_line_pointer, '\n')) != NULL)
*s = '\0';
- input_line_pointer = md_gather_operands (input_line_pointer, insn, opformat);
+ input_line_pointer = md_gather_operands (input_line_pointer, insn,
+ opformat);
if (s != NULL)
*s = '\n';
demand_empty_rest_of_line ();
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 330f09a..a6321c5 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,20 @@
+2001-09-18 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * gas/s390: New directory.
+ * gas/s390/opcode.d: New file.
+ * gas/s390/opcode.s: New file.
+ * gas/s390/opcode64.d: New file.
+ * gas/s390/opcode64.s: New file.
+ * gas/s390/operands.d: New file.
+ * gas/s390/operands.s: New file.
+ * gas/s390/operands64.d: New file.
+ * gas/s390/operands64.s: New file.
+ * gas/s390/reloc.d: New file.
+ * gas/s390/reloc.s: New file.
+ * gas/s390/reloc64.d: New file.
+ * gas/s390/reloc64.s: New file.
+ * gas/s390/s390.exp: New file.
+
2001-09-07 Eric Christopher <echristo@redhat.com>
* gas/mips/mips64.d: Change to use isa64.
@@ -15,7 +32,7 @@
* gas/mips/mips-gp64-fp32.s: Likewise.
* gas/mips/mips-gp64-fp64-pic.s: Likewise.
* gas/mips/mips-gp64-fp64.s: Likewise.
-
+
2001-09-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* gas/mips/beq.d: Check branches to external labels.
@@ -33,12 +50,12 @@
* gas/mips/empic.s: Likewise.
* gas/mips/telempic.d: Likewise.
* gas/mips/tempic.d: Likewise.
-
+
2001-09-06 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
* gas/mips/tmips16-f.d: New file, testcase for big endian MIPS16
relocations, tradtional variant.
-
+
2001-08-04 Richard Henderson <rth@redhat.com>
* gas/alpha/alpha.exp: New file.
diff --git a/gas/testsuite/gas/s390/opcode.d b/gas/testsuite/gas/s390/opcode.d
new file mode 100644
index 0000000..e96454b
--- /dev/null
+++ b/gas/testsuite/gas/s390/opcode.d
@@ -0,0 +1,425 @@
+#name: s390 opcode
+#objdump: -drw
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: 5a 65 af ff [ ]*a %r6,4095\(%r5,%r10\)
+ 4: 6a 65 af ff [ ]*ad %f6,4095\(%r5,%r10\)
+ 8: ed 65 af ff 00 1a [ ]*adb %f6,4095\(%r5,%r10\)
+ e: b3 1a 00 69 [ ]*adbr %f6,%f9
+ 12: 2a 69 [ ]*adr %f6,%f9
+ 14: 7a 65 af ff [ ]*ae %f6,4095\(%r5,%r10\)
+ 18: ed 65 af ff 00 0a [ ]*aeb %f6,4095\(%r5,%r10\)
+ 1e: b3 0a 00 69 [ ]*aebr %f6,%f9
+ 22: 3a 69 [ ]*aer %f6,%f9
+ 24: 4a 65 af ff [ ]*ah %r6,4095\(%r5,%r10\)
+ 28: a7 6a 80 01 [ ]*ahi %r6,-32767
+ 2c: 5e 65 af ff [ ]*al %r6,4095\(%r5,%r10\)
+ 30: 1e 69 [ ]*alr %r6,%r9
+ 32: fa 58 5f ff af ff [ ]*ap 4095\(6,%r5\),4095\(9,%r10\)
+ 38: 1a 69 [ ]*ar %r6,%r9
+ 3a: 7e 65 af ff [ ]*au %f6,4095\(%r5,%r10\)
+ 3e: 3e 69 [ ]*aur %f6,%f9
+ 40: 6e 65 af ff [ ]*aw %f6,4095\(%r5,%r10\)
+ 44: 2e 69 [ ]*awr %f6,%f9
+ 46: b3 4a 00 69 [ ]*axbr %f6,%f9
+ 4a: 36 69 [ ]*axr %f6,%f9
+ 4c: 47 f5 af ff [ ]*b 4095\(%r5,%r10\)
+ 50: b2 40 00 69 [ ]*bakr %r6,%r9
+ 54: 45 65 af ff [ ]*bal %r6,4095\(%r5,%r10\)
+ 58: 05 69 [ ]*balr %r6,%r9
+ 5a: 4d 65 af ff [ ]*bas %r6,4095\(%r5,%r10\)
+ 5e: 0d 69 [ ]*basr %r6,%r9
+ 60: 0c 69 [ ]*bassm %r6,%r9
+ 62: 47 65 af ff [ ]*blh 4095\(%r5,%r10\)
+ 66: 07 69 [ ]*blhr %r9
+ 68: 46 65 af ff [ ]*bct %r6,4095\(%r5,%r10\)
+ 6c: 06 69 [ ]*bctr %r6,%r9
+ 6e: 47 85 af ff [ ]*be 4095\(%r5,%r10\)
+ 72: 07 89 [ ]*ber %r9
+ 74: 47 25 af ff [ ]*bh 4095\(%r5,%r10\)
+ 78: 47 a5 af ff [ ]*bhe 4095\(%r5,%r10\)
+ 7c: 07 a9 [ ]*bher %r9
+ 7e: 07 29 [ ]*bhr %r9
+ 80: 47 45 af ff [ ]*bl 4095\(%r5,%r10\)
+ 84: 47 c5 af ff [ ]*ble 4095\(%r5,%r10\)
+ 88: 07 c9 [ ]*bler %r9
+ 8a: 47 65 af ff [ ]*blh 4095\(%r5,%r10\)
+ 8e: 07 69 [ ]*blhr %r9
+ 90: 07 49 [ ]*blr %r9
+ 92: 47 45 af ff [ ]*bl 4095\(%r5,%r10\)
+ 96: 07 49 [ ]*blr %r9
+ 98: 47 75 af ff [ ]*bne 4095\(%r5,%r10\)
+ 9c: 07 79 [ ]*bner %r9
+ 9e: 47 d5 af ff [ ]*bnh 4095\(%r5,%r10\)
+ a2: 47 55 af ff [ ]*bnhe 4095\(%r5,%r10\)
+ a6: 07 59 [ ]*bnher %r9
+ a8: 07 d9 [ ]*bnhr %r9
+ aa: 47 b5 af ff [ ]*bnl 4095\(%r5,%r10\)
+ ae: 47 35 af ff [ ]*bnle 4095\(%r5,%r10\)
+ b2: 07 39 [ ]*bnler %r9
+ b4: 47 95 af ff [ ]*bnlh 4095\(%r5,%r10\)
+ b8: 07 99 [ ]*bnlhr %r9
+ ba: 07 b9 [ ]*bnlr %r9
+ bc: 47 b5 af ff [ ]*bnl 4095\(%r5,%r10\)
+ c0: 07 b9 [ ]*bnlr %r9
+ c2: 47 e5 af ff [ ]*bno 4095\(%r5,%r10\)
+ c6: 07 e9 [ ]*bnor %r9
+ c8: 47 d5 af ff [ ]*bnh 4095\(%r5,%r10\)
+ cc: 07 d9 [ ]*bnhr %r9
+ ce: 47 75 af ff [ ]*bne 4095\(%r5,%r10\)
+ d2: 07 79 [ ]*bner %r9
+ d4: 47 15 af ff [ ]*bo 4095\(%r5,%r10\)
+ d8: 07 19 [ ]*bor %r9
+ da: 47 25 af ff [ ]*bh 4095\(%r5,%r10\)
+ de: 07 29 [ ]*bhr %r9
+ e0: 07 f9 [ ]*br %r9
+ e2: a7 95 00 00 [ ]*bras %r9,e2 <foo\+0xe2>
+ e6: a7 64 00 00 [ ]*jlh e6 <foo\+0xe6>
+ ea: a7 66 00 00 [ ]*brct %r6,ea <foo\+0xea>
+ ee: 84 69 00 00 [ ]*brxh %r6,%r9,ee <foo\+0xee>
+ f2: 85 69 00 00 [ ]*brxle %r6,%r9,f2 <foo\+0xf2>
+ f6: b2 5a 00 69 [ ]*bsa %r6,%r9
+ fa: b2 58 00 69 [ ]*bsg %r6,%r9
+ fe: 0b 69 [ ]*bsm %r6,%r9
+ 100: 86 69 5f ff [ ]*bxh %r6,%r9,4095\(%r5\)
+ 104: 87 69 5f ff [ ]*bxle %r6,%r9,4095\(%r5\)
+ 108: 47 85 af ff [ ]*be 4095\(%r5,%r10\)
+ 10c: 07 89 [ ]*ber %r9
+ 10e: 59 65 af ff [ ]*c %r6,4095\(%r5,%r10\)
+ 112: 69 65 af ff [ ]*cd %f6,4095\(%r5,%r10\)
+ 116: ed 65 af ff 00 19 [ ]*cdb %f6,4095\(%r5,%r10\)
+ 11c: b3 19 00 69 [ ]*cdbr %f6,%f9
+ 120: b3 95 00 69 [ ]*cdfbr %r6,%f9
+ 124: 29 69 [ ]*cdr %f6,%f9
+ 126: bb 69 5f ff [ ]*cds %r6,%r9,4095\(%r5\)
+ 12a: 79 65 af ff [ ]*ce %f6,4095\(%r5,%r10\)
+ 12e: ed 65 af ff 00 09 [ ]*ceb %f6,4095\(%r5,%r10\)
+ 134: b3 09 00 69 [ ]*cebr %f6,%f9
+ 138: b3 94 00 69 [ ]*cefbr %r6,%f9
+ 13c: 39 69 [ ]*cer %f6,%f9
+ 13e: b2 1a 5f ff [ ]*cfc 4095\(%r5\)
+ 142: b3 99 50 69 [ ]*cfdbr %f6,5,%r9
+ 146: b3 98 50 69 [ ]*cfebr %f6,5,%r9
+ 14a: b3 9a 50 69 [ ]*cfxbr %f6,5,%r9
+ 14e: 49 65 af ff [ ]*ch %r6,4095\(%r5,%r10\)
+ 152: a7 6e 80 01 [ ]*chi %r6,-32767
+ 156: b2 41 00 69 [ ]*cksm %r6,%r9
+ 15a: 55 65 af ff [ ]*cl %r6,4095\(%r5,%r10\)
+ 15e: d5 ff 5f ff af ff [ ]*clc 4095\(256,%r5\),4095\(%r10\)
+ 164: 0f 69 [ ]*clcl %r6,%r9
+ 166: a9 69 00 0a [ ]*clcle %r6,%r9,10
+ 16a: 95 ff 5f ff [ ]*cli 4095\(%r5\),255
+ 16e: bd 6a 5f ff [ ]*clm %r6,10,4095\(%r5\)
+ 172: 15 69 [ ]*clr %r6,%r9
+ 174: b2 5d 00 69 [ ]*clst %r6,%r9
+ 178: b2 63 00 69 [ ]*cmpsc %r6,%r9
+ 17c: f9 58 5f ff af ff [ ]*cp 4095\(6,%r5\),4095\(9,%r10\)
+ 182: b2 4d 00 69 [ ]*cpya %a6,%a9
+ 186: 19 69 [ ]*cr %r6,%r9
+ 188: ba 69 5f ff [ ]*cs %r6,%r9,4095\(%r5\)
+ 18c: b2 30 00 00 [ ]*csch
+ 190: b2 50 00 69 [ ]*csp %r6,%r9
+ 194: b2 57 00 69 [ ]*cuse %r6,%r9
+ 198: b2 a7 00 69 [ ]*cutfu %r6,%r9
+ 19c: b2 a6 00 69 [ ]*cuutf %r6,%r9
+ 1a0: 4f 65 af ff [ ]*cvb %r6,4095\(%r5,%r10\)
+ 1a4: 4e 65 af ff [ ]*cvd %r6,4095\(%r5,%r10\)
+ 1a8: b3 49 00 69 [ ]*cxbr %f6,%f9
+ 1ac: b3 96 00 69 [ ]*cxfbr %r6,%f9
+ 1b0: 5d 65 af ff [ ]*d %r6,4095\(%r5,%r10\)
+ 1b4: 6d 65 af ff [ ]*dd %f6,4095\(%r5,%r10\)
+ 1b8: ed 65 af ff 00 1d [ ]*ddb %f6,4095\(%r5,%r10\)
+ 1be: b3 1d 00 69 [ ]*ddbr %f6,%f9
+ 1c2: 2d 69 [ ]*ddr %f6,%f9
+ 1c4: 7d 65 af ff [ ]*de %f6,4095\(%r5,%r10\)
+ 1c8: ed 65 af ff 00 0d [ ]*deb %f6,4095\(%r5,%r10\)
+ 1ce: b3 0d 00 69 [ ]*debr %f6,%f9
+ 1d2: 3d 69 [ ]*der %f6,%f9
+ 1d4: 83 69 5f ff [ ]*diag %r6,%r9,4095\(%r5\)
+ 1d8: b3 5b 9a 65 [ ]*didbr %f6,%f9,%f5,10
+ 1dc: b3 53 9a 65 [ ]*diebr %f6,%f9,%f5,10
+ 1e0: fd 58 5f ff af ff [ ]*dp 4095\(6,%r5\),4095\(9,%r10\)
+ 1e6: 1d 69 [ ]*dr %r6,%r9
+ 1e8: b3 4d 00 69 [ ]*dxbr %f6,%f9
+ 1ec: b2 2d 00 60 [ ]*dxr %f6
+ 1f0: b2 4f 00 69 [ ]*ear %r6,%a9
+ 1f4: de ff 5f ff af ff [ ]*ed 4095\(256,%r5\),4095\(%r10\)
+ 1fa: df ff 5f ff af ff [ ]*edmk 4095\(256,%r5\),4095\(%r10\)
+ 200: b3 8c 00 69 [ ]*efpc %r6,%r9
+ 204: b2 26 00 60 [ ]*epar %r6
+ 208: b2 49 00 69 [ ]*ereg %r6,%r9
+ 20c: b2 27 00 60 [ ]*esar %r6
+ 210: b2 4a 00 69 [ ]*esta %r6,%r9
+ 214: 44 60 5f ff [ ]*ex %r6,4095\(%r5\)
+ 218: b3 5f 50 69 [ ]*fidbr %f6,5,%f9
+ 21c: b3 57 50 69 [ ]*fiebr %f6,5,%f9
+ 220: b3 47 50 69 [ ]*fixbr %f6,5,%f9
+ 224: 24 69 [ ]*hdr %f6,%f9
+ 226: 34 69 [ ]*her %f6,%f9
+ 228: b2 31 00 00 [ ]*hsch
+ 22c: b2 24 00 60 [ ]*iac %r6
+ 230: 43 65 af ff [ ]*ic %r6,4095\(%r5,%r10\)
+ 234: bf 6a 5f ff [ ]*icm %r6,10,4095\(%r5\)
+ 238: b2 0b 00 00 [ ]*ipk
+ 23c: b2 22 00 60 [ ]*ipm %r6
+ 240: b2 21 00 69 [ ]*ipte %r6,%r9
+ 244: b2 29 00 69 [ ]*iske %r6,%r9
+ 248: b2 23 00 69 [ ]*ivsk %r6,%r9
+ 24c: a7 f4 00 00 [ ]*j 24c <foo\+0x24c>
+ 250: a7 84 00 00 [ ]*je 250 <foo\+0x250>
+ 254: a7 24 00 00 [ ]*jh 254 <foo\+0x254>
+ 258: a7 a4 00 00 [ ]*jhe 258 <foo\+0x258>
+ 25c: a7 44 00 00 [ ]*jl 25c <foo\+0x25c>
+ 260: a7 c4 00 00 [ ]*jle 260 <foo\+0x260>
+ 264: a7 64 00 00 [ ]*jlh 264 <foo\+0x264>
+ 268: a7 44 00 00 [ ]*jl 268 <foo\+0x268>
+ 26c: a7 74 00 00 [ ]*jne 26c <foo\+0x26c>
+ 270: a7 54 00 00 [ ]*jnhe 270 <foo\+0x270>
+ 274: a7 b4 00 00 [ ]*jnl 274 <foo\+0x274>
+ 278: a7 34 00 00 [ ]*jnle 278 <foo\+0x278>
+ 27c: a7 94 00 00 [ ]*jnlh 27c <foo\+0x27c>
+ 280: a7 b4 00 00 [ ]*jnl 280 <foo\+0x280>
+ 284: a7 e4 00 00 [ ]*jno 284 <foo\+0x284>
+ 288: a7 d4 00 00 [ ]*jnh 288 <foo\+0x288>
+ 28c: a7 74 00 00 [ ]*jne 28c <foo\+0x28c>
+ 290: a7 14 00 00 [ ]*jo 290 <foo\+0x290>
+ 294: a7 24 00 00 [ ]*jh 294 <foo\+0x294>
+ 298: a7 84 00 00 [ ]*je 298 <foo\+0x298>
+ 29c: ed 65 af ff 00 18 [ ]*kdb %f6,4095\(%r5,%r10\)
+ 2a2: b3 18 00 69 [ ]*kdbr %f6,%f9
+ 2a6: ed 65 af ff 00 08 [ ]*keb %f6,4095\(%r5,%r10\)
+ 2ac: b3 08 00 69 [ ]*kebr %f6,%f9
+ 2b0: b3 48 00 69 [ ]*kxbr %f6,%f9
+ 2b4: 58 65 af ff [ ]*l %r6,4095\(%r5,%r10\)
+ 2b8: 41 65 af ff [ ]*la %r6,4095\(%r5,%r10\)
+ 2bc: 51 65 af ff [ ]*lae %r6,4095\(%r5,%r10\)
+ 2c0: 9a 69 5f ff [ ]*lam %a6,%a9,4095\(%r5\)
+ 2c4: e5 00 5f ff af ff [ ]*lasp 4095\(%r5\),4095\(%r10\)
+ 2ca: b3 13 00 69 [ ]*lcdbr %f6,%f9
+ 2ce: 23 69 [ ]*lcdr %f6,%f9
+ 2d0: b3 03 00 69 [ ]*lcebr %f6,%f9
+ 2d4: 33 69 [ ]*lcer %f6,%f9
+ 2d6: 13 69 [ ]*lcr %r6,%r9
+ 2d8: b7 69 5f ff [ ]*lctl %c6,%c9,4095\(%r5\)
+ 2dc: b3 43 00 69 [ ]*lcxbr %f6,%f9
+ 2e0: 68 60 5f ff [ ]*ld %f6,4095\(%r5\)
+ 2e4: ed 60 5f ff 00 04 [ ]*ldeb %f6,4095\(%r5\)
+ 2ea: b3 04 00 69 [ ]*ldebr %f6,%f9
+ 2ee: 28 69 [ ]*ldr %f6,%f9
+ 2f0: b3 45 00 69 [ ]*ldxbr %f6,%f9
+ 2f4: 78 60 5f ff [ ]*le %f6,4095\(%r5\)
+ 2f8: b3 44 00 69 [ ]*ledbr %f6,%f9
+ 2fc: 38 69 [ ]*ler %f6,%f9
+ 2fe: b3 46 00 69 [ ]*lexbr %f6,%f9
+ 302: b2 9d 5f ff [ ]*lfpc 4095\(%r5\)
+ 306: 48 60 5f ff [ ]*lh %r6,4095\(%r5\)
+ 30a: a7 68 80 01 [ ]*lhi %r6,-32767
+ 30e: 98 69 5f ff [ ]*lm %r6,%r9,4095\(%r5\)
+ 312: b3 11 00 69 [ ]*lndbr %f6,%f9
+ 316: 21 69 [ ]*lndr %f6,%f9
+ 318: b3 01 00 69 [ ]*lnebr %f6,%f9
+ 31c: 31 69 [ ]*lner %f6,%f9
+ 31e: 11 69 [ ]*lnr %r6,%r9
+ 320: b3 41 00 69 [ ]*lnxbr %f6,%f9
+ 324: b3 10 00 69 [ ]*lpdbr %f6,%f9
+ 328: 20 69 [ ]*lpdr %f6,%f9
+ 32a: b3 00 00 69 [ ]*lpebr %f6,%f9
+ 32e: 30 69 [ ]*lper %f6,%f9
+ 330: 10 69 [ ]*lpr %r6,%r9
+ 332: 82 00 5f ff [ ]*lpsw 4095\(%r5\)
+ 336: b3 40 00 69 [ ]*lpxbr %f6,%f9
+ 33a: 18 69 [ ]*lr %r6,%r9
+ 33c: b1 65 af ff [ ]*lra %r6,4095\(%r5,%r10\)
+ 340: 25 69 [ ]*lrdr %f6,%f9
+ 342: 35 69 [ ]*lrer %f6,%f9
+ 344: b3 12 00 69 [ ]*ltdbr %f6,%f9
+ 348: 22 69 [ ]*ltdr %f6,%f9
+ 34a: b3 02 00 69 [ ]*ltebr %f6,%f9
+ 34e: 32 69 [ ]*lter %f6,%f9
+ 350: 12 69 [ ]*ltr %r6,%r9
+ 352: b3 42 00 69 [ ]*ltxbr %f6,%f9
+ 356: b2 4b 00 69 [ ]*lura %r6,%r9
+ 35a: ed 65 af ff 00 05 [ ]*lxdb %f6,4095\(%r5,%r10\)
+ 360: b3 05 00 69 [ ]*lxdbr %f6,%f9
+ 364: ed 65 af ff 00 06 [ ]*lxeb %f6,4095\(%r5,%r10\)
+ 36a: b3 06 00 69 [ ]*lxebr %f6,%f9
+ 36e: 5c 65 af ff [ ]*m %r6,4095\(%r5,%r10\)
+ 372: ed 95 af ff 60 1e [ ]*madb %f6,%f9,4095\(%r5,%r10\)
+ 378: b3 1e 60 95 [ ]*madbr %f6,%f9,%f5
+ 37c: ed 95 af ff 60 0e [ ]*maeb %f6,%f9,4095\(%r5,%r10\)
+ 382: b3 0e 60 95 [ ]*maebr %f6,%f9,%f5
+ 386: af 06 5f ff [ ]*mc 4095\(%r5\),6
+ 38a: 6c 65 af ff [ ]*md %f6,4095\(%r5,%r10\)
+ 38e: ed 65 af ff 00 1c [ ]*mdb %f6,4095\(%r5,%r10\)
+ 394: b3 1c 00 69 [ ]*mdbr %f6,%f9
+ 398: ed 65 af ff 00 0c [ ]*mdeb %f6,4095\(%r5,%r10\)
+ 39e: b3 0c 00 69 [ ]*mdebr %f6,%f9
+ 3a2: 2c 69 [ ]*mdr %f6,%f9
+ 3a4: 7c 65 af ff [ ]*me %f6,4095\(%r5,%r10\)
+ 3a8: ed 65 af ff 00 17 [ ]*meeb %f6,4095\(%r5,%r10\)
+ 3ae: b3 17 00 69 [ ]*meebr %f6,%f9
+ 3b2: 3c 69 [ ]*mer %f6,%f9
+ 3b4: 4c 65 af ff [ ]*mh %r6,4095\(%r5,%r10\)
+ 3b8: a7 6c 80 01 [ ]*mhi %r6,-32767
+ 3bc: fc ff 5f ff af ff [ ]*mp 4095\(16,%r5\),4095\(16,%r10\)
+ 3c2: 1c 69 [ ]*mr %r6,%r9
+ 3c4: 71 65 af ff [ ]*ms %r6,4095\(%r5,%r10\)
+ 3c8: b2 32 5f ff [ ]*msch 4095\(%r5\)
+ 3cc: ed 95 af ff 60 1f [ ]*msdb %f6,%f9,4095\(%r5,%r10\)
+ 3d2: b3 1f 60 95 [ ]*msdbr %f6,%f9,%f5
+ 3d6: ed 95 af ff 60 0f [ ]*mseb %f6,%f9,4095\(%r5,%r10\)
+ 3dc: b3 0f 60 95 [ ]*msebr %f6,%f9,%f5
+ 3e0: b2 52 00 69 [ ]*msr %r6,%r9
+ 3e4: b2 47 00 60 [ ]*msta %r6
+ 3e8: d2 ff 5f ff af ff [ ]*mvc 4095\(256,%r5\),4095\(%r10\)
+ 3ee: e5 0f 5f ff af ff [ ]*mvcdk 4095\(%r5\),4095\(%r10\)
+ 3f4: e8 ff 5f ff af ff [ ]*mvcin 4095\(256,%r5\),4095\(%r10\)
+ 3fa: d9 69 5f ff af ff [ ]*mvck 4095\(%r6,%r5\),4095\(%r10\),%r9
+ 400: 0e 69 [ ]*mvcl %r6,%r9
+ 402: a8 69 00 0a [ ]*mvcle %r6,%r9,10
+ 406: da 69 5f ff af ff [ ]*mvcp 4095\(%r6,%r5\),4095\(%r10\),%r9
+ 40c: db 69 5f ff af ff [ ]*mvcs 4095\(%r6,%r5\),4095\(%r10\),%r9
+ 412: e5 0e 5f ff af ff [ ]*mvcsk 4095\(%r5\),4095\(%r10\)
+ 418: 92 ff 5f ff [ ]*mvi 4095\(%r5\),255
+ 41c: d1 ff 5f ff af ff [ ]*mvn 4095\(256,%r5\),4095\(%r10\)
+ 422: f1 ff 5f ff af ff [ ]*mvo 4095\(16,%r5\),4095\(16,%r10\)
+ 428: b2 54 00 69 [ ]*mvpg %r6,%r9
+ 42c: b2 55 00 69 [ ]*mvst %r6,%r9
+ 430: d3 ff 5f ff af ff [ ]*mvz 4095\(256,%r5\),4095\(%r10\)
+ 436: b3 4c 00 69 [ ]*mxbr %f6,%f9
+ 43a: 67 65 af ff [ ]*mxd %f6,4095\(%r5,%r10\)
+ 43e: ed 65 af ff 00 07 [ ]*mxdb %f6,4095\(%r5,%r10\)
+ 444: b3 07 00 69 [ ]*mxdbr %f6,%f9
+ 448: 27 69 [ ]*mxdr %f6,%f9
+ 44a: 26 69 [ ]*mxr %f6,%f9
+ 44c: 54 65 af ff [ ]*n %r6,4095\(%r5,%r10\)
+ 450: d4 ff 5f ff af ff [ ]*nc 4095\(256,%r5\),4095\(%r10\)
+ 456: 94 ff 5f ff [ ]*ni 4095\(%r5\),255
+ 45a: 47 05 af ff [ ]*bc 0,4095\(%r5,%r10\)
+ 45e: 07 06 [ ]*bcr 0,%r6
+ 460: 14 69 [ ]*nr %r6,%r9
+ 462: 56 65 af ff [ ]*o %r6,4095\(%r5,%r10\)
+ 466: d6 ff 5f ff af ff [ ]*oc 4095\(256,%r5\),4095\(%r10\)
+ 46c: 96 ff 5f ff [ ]*oi 4095\(%r5\),255
+ 470: 16 69 [ ]*or %r6,%r9
+ 472: f2 ff 5f ff af ff [ ]*pack 4095\(16,%r5\),4095\(16,%r10\)
+ 478: b2 48 00 00 [ ]*palb
+ 47c: b2 18 5f ff [ ]*pc 4095\(%r5\)
+ 480: ee 69 5f ff af ff [ ]*plo %r6,4095\(%r5\),%r9,4095\(%r10\)
+ 486: 01 01 [ ]*pr
+ 488: b2 28 00 69 [ ]*pt %r6,%r9
+ 48c: b2 0d 00 00 [ ]*ptlb
+ 490: b2 3b 00 00 [ ]*rchp
+ 494: b2 77 5f ff [ ]*rp 4095\(%r5\)
+ 498: b2 2a 00 69 [ ]*rrbe %r6,%r9
+ 49c: b2 38 00 00 [ ]*rsch
+ 4a0: 5b 65 af ff [ ]*s %r6,4095\(%r5,%r10\)
+ 4a4: b2 19 5f ff [ ]*sac 4095\(%r5\)
+ 4a8: b2 79 5f ff [ ]*sacf 4095\(%r5\)
+ 4ac: b2 37 00 00 [ ]*sal
+ 4b0: b2 4e 00 69 [ ]*sar %a6,%r9
+ 4b4: b2 3c 00 00 [ ]*schm
+ 4b8: b2 04 5f ff [ ]*sck 4095\(%r5\)
+ 4bc: b2 06 5f ff [ ]*sckc 4095\(%r5\)
+ 4c0: 01 07 [ ]*sckpf
+ 4c2: 6b 65 af ff [ ]*sd %f6,4095\(%r5,%r10\)
+ 4c6: ed 65 af ff 00 1b [ ]*sdb %f6,4095\(%r5,%r10\)
+ 4cc: b3 1b 00 69 [ ]*sdbr %f6,%f9
+ 4d0: 2b 69 [ ]*sdr %f6,%f9
+ 4d2: 7b 65 af ff [ ]*se %f6,4095\(%r5,%r10\)
+ 4d6: ed 65 af ff 00 0b [ ]*seb %f6,4095\(%r5,%r10\)
+ 4dc: b3 0b 00 69 [ ]*sebr %f6,%f9
+ 4e0: 3b 69 [ ]*ser %f6,%f9
+ 4e2: b3 84 00 69 [ ]*sfpc %r6,%r9
+ 4e6: 4b 65 af ff [ ]*sh %r6,4095\(%r5,%r10\)
+ 4ea: b2 14 5f ff [ ]*sie 4095\(%r5\)
+ 4ee: b2 74 5f ff [ ]*siga 4095\(%r5\)
+ 4f2: ae 69 5f ff [ ]*sigp %r6,%r9,4095\(%r5\)
+ 4f6: 5f 65 af ff [ ]*sl %r6,4095\(%r5,%r10\)
+ 4fa: 8b 60 5f ff [ ]*sla %r6,4095\(%r5\)
+ 4fe: 8f 60 5f ff [ ]*slda %r6,4095\(%r5\)
+ 502: 8d 60 5f ff [ ]*sldl %r6,4095\(%r5\)
+ 506: 89 60 5f ff [ ]*sll %r6,4095\(%r5\)
+ 50a: 1f 69 [ ]*slr %r6,%r9
+ 50c: fb ff 5f ff af ff [ ]*sp 4095\(16,%r5\),4095\(16,%r10\)
+ 512: b2 0a 5f ff [ ]*spka 4095\(%r5\)
+ 516: 04 60 [ ]*spm %r6
+ 518: b2 08 5f ff [ ]*spt 4095\(%r5\)
+ 51c: b2 10 5f ff [ ]*spx 4095\(%r5\)
+ 520: ed 65 af ff 00 15 [ ]*sqdb %f6,4095\(%r5,%r10\)
+ 526: b3 15 00 69 [ ]*sqdbr %f6,%f9
+ 52a: b2 44 00 60 [ ]*sqdr %f6
+ 52e: ed 65 af ff 00 14 [ ]*sqeb %f6,4095\(%r5,%r10\)
+ 534: b3 14 00 69 [ ]*sqebr %f6,%f9
+ 538: b2 45 00 60 [ ]*sqer %f6
+ 53c: b3 16 00 69 [ ]*sqxbr %f6,%f9
+ 540: 1b 69 [ ]*sr %r6,%r9
+ 542: 8a 60 5f ff [ ]*sra %r6,4095\(%r5\)
+ 546: 8e 60 5f ff [ ]*srda %r6,4095\(%r5\)
+ 54a: 8c 60 5f ff [ ]*srdl %r6,4095\(%r5\)
+ 54e: 88 60 5f ff [ ]*srl %r6,4095\(%r5\)
+ 552: b2 99 5f ff [ ]*srnm 4095\(%r5\)
+ 556: f0 fa 5f ff af ff [ ]*srp 4095\(16,%r5\),4095\(%r10\),10
+ 55c: b2 5e 00 69 [ ]*srst %r6,%r9
+ 560: b2 25 00 60 [ ]*ssar %r6
+ 564: b2 33 5f ff [ ]*ssch 4095\(%r5\)
+ 568: b2 2b 00 69 [ ]*sske %r6,%r9
+ 56c: 80 00 5f ff [ ]*ssm 4095\(%r5\)
+ 570: 50 65 af ff [ ]*st %r6,4095\(%r5,%r10\)
+ 574: 9b 69 5f ff [ ]*stam %a6,%a9,4095\(%r5\)
+ 578: b2 12 5f ff [ ]*stap 4095\(%r5\)
+ 57c: 42 65 af ff [ ]*stc %r6,4095\(%r5,%r10\)
+ 580: b2 05 5f ff [ ]*stck 4095\(%r5\)
+ 584: b2 07 5f ff [ ]*stckc 4095\(%r5\)
+ 588: be 6f 5f ff [ ]*stcm %r6,15,4095\(%r5\)
+ 58c: b2 3a 5f ff [ ]*stcps 4095\(%r5\)
+ 590: b2 39 5f ff [ ]*stcrw 4095\(%r5\)
+ 594: b6 69 5f ff [ ]*stctl %c6,%c9,4095\(%r5\)
+ 598: 60 65 af ff [ ]*std %f6,4095\(%r5,%r10\)
+ 59c: 70 65 af ff [ ]*ste %f6,4095\(%r5,%r10\)
+ 5a0: b2 9c 5f ff [ ]*stfpc 4095\(%r5\)
+ 5a4: 40 65 af ff [ ]*sth %r6,4095\(%r5,%r10\)
+ 5a8: b2 02 5f ff [ ]*stidp 4095\(%r5\)
+ 5ac: 90 69 5f ff [ ]*stm %r6,%r9,4095\(%r5\)
+ 5b0: ac ff 5f ff [ ]*stnsm 4095\(%r5\),255
+ 5b4: ad ff 5f ff [ ]*stosm 4095\(%r5\),255
+ 5b8: b2 09 5f ff [ ]*stpt 4095\(%r5\)
+ 5bc: b2 11 5f ff [ ]*stpx 4095\(%r5\)
+ 5c0: b2 34 5f ff [ ]*stsch 4095\(%r5\)
+ 5c4: b2 7d 5f ff [ ]*stsi 4095\(%r5\)
+ 5c8: b2 46 00 69 [ ]*stura %r6,%r9
+ 5cc: 7f 65 af ff [ ]*su %f6,4095\(%r5,%r10\)
+ 5d0: 3f 69 [ ]*sur %f6,%f9
+ 5d2: 0a ff [ ]*svc 255
+ 5d4: 6f 65 af ff [ ]*sw %f6,4095\(%r5,%r10\)
+ 5d8: 2f 69 [ ]*swr %f6,%f9
+ 5da: b3 4b 00 69 [ ]*sxbr %f6,%f9
+ 5de: 37 69 [ ]*sxr %f6,%f9
+ 5e0: b2 4c 00 69 [ ]*tar %a6,%r9
+ 5e4: b2 2c 00 06 [ ]*tb %r6
+ 5e8: ed 65 af ff 00 11 [ ]*tcdb %f6,4095\(%r5,%r10\)
+ 5ee: ed 65 af ff 00 10 [ ]*tceb %f6,4095\(%r5,%r10\)
+ 5f4: ed 65 af ff 00 12 [ ]*tcxb %f6,4095\(%r5,%r10\)
+ 5fa: 91 ff 5f ff [ ]*tm 4095\(%r5\),255
+ 5fe: a7 60 ff ff [ ]*tmh %r6,65535
+ 602: a7 61 ff ff [ ]*tml %r6,65535
+ 606: b2 36 5f ff [ ]*tpi 4095\(%r5\)
+ 60a: e5 01 5f ff af ff [ ]*tprot 4095\(%r5\),4095\(%r10\)
+ 610: dc ff 5f ff af ff [ ]*tr 4095\(256,%r5\),4095\(%r10\)
+ 616: 99 69 5f ff [ ]*trace %r6,%r9,4095\(%r5\)
+ 61a: 01 ff [ ]*trap2
+ 61c: b2 ff 5f ff [ ]*trap4 4095\(%r5\)
+ 620: dd ff 5f ff af ff [ ]*trt 4095\(256,%r5\),4095\(%r10\)
+ 626: 93 00 5f ff [ ]*ts 4095\(%r5\)
+ 62a: b2 35 5f ff [ ]*tsch 4095\(%r5\)
+ 62e: f3 ff 5f ff af ff [ ]*unpk 4095\(16,%r5\),4095\(16,%r10\)
+ 634: 01 02 [ ]*upt
+ 636: 57 65 af ff [ ]*x %r6,4095\(%r5,%r10\)
+ 63a: d7 ff 5f ff af ff [ ]*xc 4095\(256,%r5\),4095\(%r10\)
+ 640: 97 ff 5f ff [ ]*xi 4095\(%r5\),255
+ 644: 17 69 [ ]*xr %r6,%r9
+ 646: f8 ff 5f ff af ff [ ]*zap 4095\(16,%r5\),4095\(16,%r10\)
diff --git a/gas/testsuite/gas/s390/opcode.s b/gas/testsuite/gas/s390/opcode.s
new file mode 100644
index 0000000..02354b9
--- /dev/null
+++ b/gas/testsuite/gas/s390/opcode.s
@@ -0,0 +1,419 @@
+.text
+foo:
+ a %r6,4095(%r5,%r10)
+ ad %f6,4095(%r5,%r10)
+ adb %f6,4095(%r5,%r10)
+ adbr %f6,%f9
+ adr %f6,%f9
+ ae %f6,4095(%r5,%r10)
+ aeb %f6,4095(%r5,%r10)
+ aebr %f6,%f9
+ aer %f6,%f9
+ ah %r6,4095(%r5,%r10)
+ ahi %r6,-32767
+ al %r6,4095(%r5,%r10)
+ alr %r6,%r9
+ ap 4095(6,%r5),4095(9,%r10)
+ ar %r6,%r9
+ au %f6,4095(%r5,%r10)
+ aur %f6,%f9
+ aw %f6,4095(%r5,%r10)
+ awr %f6,%f9
+ axbr %f6,%f9
+ axr %f6,%f9
+ b 4095(%r5,%r10)
+ bakr %r6,%r9
+ bal %r6,4095(%r5,%r10)
+ balr %r6,%r9
+ bas %r6,4095(%r5,%r10)
+ basr %r6,%r9
+ bassm %r6,%r9
+ bc 6,4095(%r5,%r10)
+ bcr 6,%r9
+ bct %r6,4095(%r5,%r10)
+ bctr %r6,%r9
+ be 4095(%r5,%r10)
+ ber %r9
+ bh 4095(%r5,%r10)
+ bhe 4095(%r5,%r10)
+ bher %r9
+ bhr %r9
+ bl 4095(%r5,%r10)
+ ble 4095(%r5,%r10)
+ bler %r9
+ blh 4095(%r5,%r10)
+ blhr %r9
+ blr %r9
+ bm 4095(%r5,%r10)
+ bmr %r9
+ bne 4095(%r5,%r10)
+ bner %r9
+ bnh 4095(%r5,%r10)
+ bnhe 4095(%r5,%r10)
+ bnher %r9
+ bnhr %r9
+ bnl 4095(%r5,%r10)
+ bnle 4095(%r5,%r10)
+ bnler %r9
+ bnlh 4095(%r5,%r10)
+ bnlhr %r9
+ bnlr %r9
+ bnm 4095(%r5,%r10)
+ bnmr %r9
+ bno 4095(%r5,%r10)
+ bnor %r9
+ bnp 4095(%r5,%r10)
+ bnpr %r9
+ bnz 4095(%r5,%r10)
+ bnzr %r9
+ bo 4095(%r5,%r10)
+ bor %r9
+ bp 4095(%r5,%r10)
+ bpr %r9
+ br %r9
+ bras %r9,.
+ brc 6,.
+ brct 6,.
+ brxh %r6,%r9,.
+ brxle %r6,%r9,.
+ bsa %r6,%r9
+ bsg %r6,%r9
+ bsm %r6,%r9
+ bxh %r6,%r9,4095(%r5)
+ bxle %r6,%r9,4095(%r5)
+ bz 4095(%r5,%r10)
+ bzr %r9
+ c %r6,4095(%r5,%r10)
+ cd %f6,4095(%r5,%r10)
+ cdb %f6,4095(%r5,%r10)
+ cdbr %f6,%f9
+ cdfbr %r6,%f9
+ cdr %f6,%f9
+ cds %r6,%r9,4095(%r5)
+ ce %f6,4095(%r5,%r10)
+ ceb %f6,4095(%r5,%r10)
+ cebr %f6,%f9
+ cefbr %r6,%f9
+ cer %f6,%f9
+ cfc 4095(%r5)
+ cfdbr %f6,5,%r9
+ cfebr %f6,5,%r9
+ cfxbr %f6,5,%r9
+ ch %r6,4095(%r5,%r10)
+ chi %r6,-32767
+ cksm %r6,%r9
+ cl %r6,4095(%r5,%r10)
+ clc 4095(256,%r5),4095(%r10)
+ clcl %r6,%r9
+ clcle %r6,%r9,10
+ cli 4095(%r5),255
+ clm %r6,10,4095(%r5)
+ clr %r6,%r9
+ clst %r6,%r9
+ cmpsc %r6,%r9
+ cp 4095(6,%r5),4095(9,%r10)
+ cpya %a6,%a9
+ cr %r6,%r9
+ cs %r6,%r9,4095(%r5)
+ csch
+ csp %r6,%r9
+ cuse %r6,%r9
+ cutfu %r6,%r9
+ cuutf %r6,%r9
+ cvb %r6,4095(%r5,%r10)
+ cvd %r6,4095(%r5,%r10)
+ cxbr %f6,%f9
+ cxfbr %r6,%f9
+ d %r6,4095(%r5,%r10)
+ dd %f6,4095(%r5,%r10)
+ ddb %f6,4095(%r5,%r10)
+ ddbr %f6,%f9
+ ddr %f6,%f9
+ de %f6,4095(%r5,%r10)
+ deb %f6,4095(%r5,%r10)
+ debr %f6,%f9
+ der %f6,%f9
+ diag %r6,%r9,4095(%r5)
+ didbr %f6,%r9,%r5,10
+ diebr %f6,%r9,%r5,10
+ dp 4095(6,%r5),4095(9,%r10)
+ dr %r6,%r9
+ dxbr %f6,%f9
+ dxr %f6
+ ear %r6,%a9
+ ed 4095(256,%r5),4095(%r10)
+ edmk 4095(256,%r5),4095(%r10)
+ efpc %r6,%r9
+ epar %r6
+ ereg %r6,%r9
+ esar %r6
+ esta %r6,%r9
+ ex %r6,4095(%r5)
+ fidbr %r6,5,%r9
+ fiebr %r6,5,%r9
+ fixbr %r6,5,%r9
+ hdr %f6,%f9
+ her %f6,%f9
+ hsch
+ iac %r6
+ ic %r6,4095(%r5,%r10)
+ icm %r6,10,4095(%r5)
+ ipk
+ ipm %r6
+ ipte %r6,%r9
+ iske %r6,%r9
+ ivsk %r6,%r9
+ j .
+ je .
+ jh .
+ jhe .
+ jl .
+ jle .
+ jlh .
+ jm .
+ jne .
+ jnhe .
+ jnl .
+ jnle .
+ jnlh .
+ jnm .
+ jno .
+ jnp .
+ jnz .
+ jo .
+ jp .
+ jz .
+ kdb %f6,4095(%r5,%r10)
+ kdbr %f6,%f9
+ keb %f6,4095(%r5,%r10)
+ kebr %f6,%f9
+ kxbr %f6,%f9
+ l %r6,4095(%r5,%r10)
+ la %r6,4095(%r5,%r10)
+ lae %r6,4095(%r5,%r10)
+ lam %a6,%a9,4095(%r5)
+ lasp 4095(%r5),4095(%r10)
+ lcdbr %f6,%f9
+ lcdr %f6,%f9
+ lcebr %f6,%f9
+ lcer %f6,%f9
+ lcr %r6,%r9
+ lctl %c6,%c9,4095(%r5)
+ lcxbr %f6,%f9
+ ld %f6,4095(%r5)
+ ldeb %f6,4095(%r5)
+ ldebr %f6,%f9
+ ldr %f6,%f9
+ ldxbr %f6,%f9
+ le %f6,4095(%r5)
+ ledbr %f6,%f9
+ ler %f6,%f9
+ lexbr %f6,%f9
+ lfpc 4095(%r5)
+ lh %r6,4095(%r5)
+ lhi %r6,-32767
+ lm %r6,%r9,4095(%r5)
+ lndbr %f6,%f9
+ lndr %f6,%f9
+ lnebr %f6,%f9
+ lner %f6,%f9
+ lnr %r6,%r9
+ lnxbr %f6,%f9
+ lpdbr %f6,%f9
+ lpdr %f6,%f9
+ lpebr %f6,%f9
+ lper %f6,%f9
+ lpr %r6,%r9
+ lpsw 4095(%r5)
+ lpxbr %f6,%f9
+ lr %r6,%r9
+ lra %r6,4095(%r5,%r10)
+ lrdr %f6,%f9
+ lrer %f6,%f9
+ ltdbr %f6,%f9
+ ltdr %f6,%f9
+ ltebr %f6,%f9
+ lter %f6,%f9
+ ltr %r6,%r9
+ ltxbr %f6,%f9
+ lura %r6,%r9
+ lxdb %f6,4095(%r5,%r10)
+ lxdbr %f6,%f9
+ lxeb %f6,4095(%r5,%r10)
+ lxebr %f6,%f9
+ m %r6,4095(%r5,%r10)
+ madb %f6,%f9,4095(%r5,%r10)
+ madbr %f6,%f9,%f5
+ maeb %f6,%f9,4095(%r5,%r10)
+ maebr %f6,%f9,%f5
+ mc 4095(%r5),6
+ md %f6,4095(%r5,%r10)
+ mdb %f6,4095(%f5,%f10)
+ mdbr %f6,%f9
+ mdeb %f6,4095(%f5,%f10)
+ mdebr %f6,%f9
+ mdr %f6,%f9
+ me %f6,4095(%r5,%r10)
+ meeb %f6,4095(%r5,%r10)
+ meebr %f6,%f9
+ mer %f6,%f9
+ mh %r6,4095(%r5,%r10)
+ mhi %r6,-32767
+ mp 4095(16,%r5),4095(16,%r10)
+ mr %r6,%r9
+ ms %r6,4095(%r5,%r10)
+ msch 4095(%r5)
+ msdb %f6,%f9,4095(%r5,%r10)
+ msdbr %f6,%f9,%f5
+ mseb %f6,%f9,4095(%r5,%r10)
+ msebr %f6,%f9,%f5
+ msr %r6,%r9
+ msta %r6
+ mvc 4095(256,%r5),4095(%r10)
+ mvcdk 4095(%r5),4095(%r10)
+ mvcin 4095(256,%r5),4095(%r10)
+ mvck 4095(%r6,%r5),4095(%r10),%r9
+ mvcl %r6,%r9
+ mvcle %r6,%r9,10
+ mvcp 4095(%r6,%r5),4095(%r10),%r9
+ mvcs 4095(%r6,%r5),4095(%r10),%r9
+ mvcsk 4095(%r5),4095(%r10)
+ mvi 4095(%r5),255
+ mvn 4095(256,%r5),4095(%r10)
+ mvo 4095(16,%r5),4095(16,%r10)
+ mvpg %r6,%r9
+ mvst %r6,%r9
+ mvz 4095(256,%r5),4095(%r10)
+ mxbr %f6,%f9
+ mxd %f6,4095(%r5,%r10)
+ mxdb %f6,4095(%r5,%r10)
+ mxdbr %f6,%f9
+ mxdr %r6,%r9
+ mxr %r6,%r9
+ n %r6,4095(%r5,%r10)
+ nc 4095(256,%r5),4095(%r10)
+ ni 4095(%r5),255
+ nop 4095(%r5,%r10)
+ nopr %r6
+ nr %r6,%r9
+ o %r6,4095(%r5,%r10)
+ oc 4095(256,%r5),4095(%r10)
+ oi 4095(%r5),255
+ or %r6,%r9
+ pack 4095(16,%r5),4095(16,%r10)
+ palb
+ pc 4095(%r5)
+ plo %r6,4095(%r5),%r9,4095(%r10)
+ pr
+ pt %r6,%r9
+ ptlb
+ rchp
+ rp 4095(%r5)
+ rrbe %r6,%r9
+ rsch
+ s %r6,4095(%r5,%r10)
+ sac 4095(%r5)
+ sacf 4095(%r5)
+ sal
+ sar %a6,%r9
+ schm
+ sck 4095(%r5)
+ sckc 4095(%r5)
+ sckpf
+ sd %f6,4095(%r5,%r10)
+ sdb %f6,4095(%r5,%r10)
+ sdbr %f6,%f9
+ sdr %f6,%f9
+ se %f6,4095(%r5,%r10)
+ seb %f6,4095(%r5,%r10)
+ sebr %f6,%f9
+ ser %r6,%r9
+ sfpc %r6,%r9
+ sh %r6,4095(%r5,%r10)
+ sie 4095(%r5)
+ siga 4095(%r5)
+ sigp %r6,%r9,4095(%r5)
+ sl %r6,4095(%r5,%r10)
+ sla %r6,4095(%r5)
+ slda %r6,4095(%r5)
+ sldl %r6,4095(%r5)
+ sll %r6,4095(%r5)
+ slr %r6,%r9
+ sp 4095(16,%r5),4095(16,%r10)
+ spka 4095(%r5)
+ spm %r6
+ spt 4095(%r5)
+ spx 4095(%r5)
+ sqdb %f6,4095(%r5,%r10)
+ sqdbr %f6,%f9
+ sqdr %f6
+ sqeb %f6,4095(%r5,%r10)
+ sqebr %f6,%f9
+ sqer %f6
+ sqxbr %f6,%f9
+ sr %r6,%r9
+ sra %r6,4095(%r5)
+ srda %r6,4095(%r5)
+ srdl %r6,4095(%r5)
+ srl %r6,4095(%r5)
+ srnm 4095(%r5)
+ srp 4095(16,%r5),4095(%r10),10
+ srst %r6,%r9
+ ssar %r6
+ ssch 4095(%r5)
+ sske %r6,%r9
+ ssm 4095(%r5)
+ st %r6,4095(%r5,%r10)
+ stam %a6,%a9,4095(%r5)
+ stap 4095(%r5)
+ stc %r6,4095(%r5,%r10)
+ stck 4095(%r5)
+ stckc 4095(%r5)
+ stcm %r6,15,4095(%r5)
+ stcps 4095(%r5)
+ stcrw 4095(%r5)
+ stctl %c6,%c9,4095(%r5)
+ std %f6,4095(%r5,%r10)
+ ste %f6,4095(%r5,%r10)
+ stfpc 4095(%r5)
+ sth %r6,4095(%r5,%r10)
+ stidp 4095(%r5)
+ stm %r6,%r9,4095(%r5)
+ stnsm 4095(%r5),255
+ stosm 4095(%r5),255
+ stpt 4095(%r5)
+ stpx 4095(%r5)
+ stsch 4095(%r5)
+ stsi 4095(%r5)
+ stura %r6,%r9
+ su %f6,4095(%r5,%r10)
+ sur %r6,%r9
+ svc 255
+ sw %f6,4095(%r5,%r10)
+ swr %f6,%f9
+ sxbr %f6,%f9
+ sxr %r6,%r9
+ tar %a6,%r9
+ tb %r6
+ tcdb %f6,4095(%r5,%r10)
+ tceb %f6,4095(%r5,%r10)
+ tcxb %f6,4095(%r5,%r10)
+ tm 4095(%r5),255
+ tmh %r6,65535
+ tml %r6,65535
+ tpi 4095(%r5)
+ tprot 4095(%r5),4095(%r10)
+ tr 4095(256,%r5),4095(%r10)
+ trace %r6,%r9,4095(%r5)
+ trap2
+ trap4 4095(%r5)
+ trt 4095(256,%r5),4095(%r10)
+ ts 4095(%r5)
+ tsch 4095(%r5)
+ unpk 4095(16,%r5),4095(16,%r10)
+ upt
+ x %r6,4095(%r5,%r10)
+ xc 4095(256,%r5),4095(%r10)
+ xi 4095(%r5),255
+ xr %r6,%r9
+ zap 4095(16,%r5),4095(16,%r10)
diff --git a/gas/testsuite/gas/s390/opcode64.d b/gas/testsuite/gas/s390/opcode64.d
new file mode 100644
index 0000000..2f867ee
--- /dev/null
+++ b/gas/testsuite/gas/s390/opcode64.d
@@ -0,0 +1,211 @@
+#name: s390x opcode
+#objdump: -drw
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: e3 95 af ff 00 08 [ ]*ag %r9,4095\(%r5,%r10\)
+ 6: e3 95 af ff 00 18 [ ]*agf %r9,4095\(%r5,%r10\)
+ c: b9 18 00 96 [ ]*agfr %r9,%r6
+ 10: a7 9b 80 01 [ ]*aghi %r9,-32767
+ 14: b9 08 00 96 [ ]*agr %r9,%r6
+ 18: e3 95 af ff 00 98 [ ]*alc %r9,4095\(%r5,%r10\)
+ 1e: e3 95 af ff 00 88 [ ]*alcg %r9,4095\(%r5,%r10\)
+ 24: b9 88 00 96 [ ]*alcgr %r9,%r6
+ 28: b9 98 00 96 [ ]*alcr %r9,%r6
+ 2c: e3 95 af ff 00 0a [ ]*alg %r9,4095\(%r5,%r10\)
+ 32: e3 95 af ff 00 1a [ ]*algf %r9,4095\(%r5,%r10\)
+ 38: b9 1a 00 96 [ ]*algfr %r9,%r6
+ 3c: b9 0a 00 96 [ ]*algr %r9,%r6
+ 40: e3 65 af ff 00 46 [ ]*bctg %r6,4095\(%r5,%r10\)
+ 46: b9 46 00 69 [ ]*bctgr %r6,%r9
+ 4a: c0 65 00 00 00 00 [ ]*brasl %r6,4a <foo\+0x4a>
+ 50: c0 f4 00 00 00 00 [ ]*jg 50 <foo\+0x50>
+ 56: a7 67 00 00 [ ]*brctg %r6,56 <foo\+0x56>
+ 5a: ec 69 00 00 00 44 [ ]*brxhg %r6,%r9,5a <foo\+0x5a>
+ 60: ec 69 00 00 00 45 [ ]*brxlg %r6,%r9,60 <foo\+0x60>
+ 66: eb 69 5f ff 00 44 [ ]*bxhg %r6,%r9,4095\(%r5\)
+ 6c: eb 69 5f ff 00 45 [ ]*bxleg %r6,%r9,4095\(%r5\)
+ 72: b3 a5 00 69 [ ]*cdgbr %r6,%r9
+ 76: b3 c5 00 69 [ ]*cdgr %r6,%r9
+ 7a: eb 69 5f ff 00 3e [ ]*cdsg %r6,%r9,4095\(%r5\)
+ 80: b3 a4 00 69 [ ]*cegbr %r6,%r9
+ 84: b3 c4 00 69 [ ]*cegr %r6,%r9
+ 88: e3 65 af ff 00 20 [ ]*cg %r6,4095\(%r5,%r10\)
+ 8e: b3 a9 f0 69 [ ]*cgdbr %f6,15,%r9
+ 92: b3 c9 90 65 [ ]*cgdr %f6,9,%r5
+ 96: b3 a8 f0 69 [ ]*cgebr %f6,15,%r9
+ 9a: b3 c8 90 65 [ ]*cger %f6,9,%r5
+ 9e: e3 65 af ff 00 30 [ ]*cgf %r6,4095\(%r5,%r10\)
+ a4: b9 30 00 69 [ ]*cgfr %r6,%r9
+ a8: a7 6f 80 01 [ ]*cghi %r6,-32767
+ ac: b9 20 00 69 [ ]*cgr %r6,%r9
+ b0: b3 aa f0 69 [ ]*cgxbr %f6,15,%r9
+ b4: b3 ca 90 65 [ ]*cgxr %f6,9,%r5
+ b8: e3 65 af ff 00 21 [ ]*clg %r6,4095\(%r5,%r10\)
+ be: e3 65 af ff 00 31 [ ]*clgf %r6,4095\(%r5,%r10\)
+ c4: b9 31 00 69 [ ]*clgfr %r6,%r9
+ c8: b9 21 00 69 [ ]*clgr %r6,%r9
+ cc: eb 6a 5f ff 00 20 [ ]*clmh %r6,10,4095\(%r5\)
+ d2: eb 69 5f ff 00 30 [ ]*csg %r6,%r9,4095\(%r5\)
+ d8: e3 65 af ff 00 0e [ ]*cvbg %r6,4095\(%r5,%r10\)
+ de: e3 65 af ff 00 2e [ ]*cvdg %r6,4095\(%r5,%r10\)
+ e4: b3 a6 00 69 [ ]*cxgbr %r6,%r9
+ e8: b3 c6 00 69 [ ]*cxgr %r6,%r9
+ ec: e3 65 af ff 00 97 [ ]*dl %r6,4095\(%r5,%r10\)
+ f2: e3 65 af ff 00 87 [ ]*dlg %r6,4095\(%r5,%r10\)
+ f8: b9 87 00 69 [ ]*dlgr %r6,%r9
+ fc: b9 97 00 69 [ ]*dlr %r6,%r9
+ 100: e3 65 af ff 00 0d [ ]*dsg %r6,4095\(%r5,%r10\)
+ 106: e3 65 af ff 00 1d [ ]*dsgf %r6,4095\(%r5,%r10\)
+ 10c: b9 1d 00 69 [ ]*dsgfr %r6,%r9
+ 110: b9 0d 00 69 [ ]*dsgr %r6,%r9
+ 114: b9 8d 00 69 [ ]*epsw %r6,%r9
+ 118: b9 0e 00 69 [ ]*eregg %r6,%r9
+ 11c: b9 9d 00 60 [ ]*esea %r6
+ 120: eb 6a 5f ff 00 80 [ ]*icmh %r6,10,4095\(%r5\)
+ 126: a5 60 ff ff [ ]*iihh %r6,65535
+ 12a: a5 61 ff ff [ ]*iihl %r6,65535
+ 12e: a5 62 ff ff [ ]*iilh %r6,65535
+ 132: a5 63 ff ff [ ]*iill %r6,65535
+ 136: c0 f4 00 00 00 00 [ ]*jg 136 <foo\+0x136>
+ 13c: c0 84 00 00 00 00 [ ]*jge 13c <foo\+0x13c>
+ 142: c0 24 00 00 00 00 [ ]*jgh 142 <foo\+0x142>
+ 148: c0 a4 00 00 00 00 [ ]*jghe 148 <foo\+0x148>
+ 14e: c0 44 00 00 00 00 [ ]*jgl 14e <foo\+0x14e>
+ 154: c0 c4 00 00 00 00 [ ]*jgle 154 <foo\+0x154>
+ 15a: c0 64 00 00 00 00 [ ]*jglh 15a <foo\+0x15a>
+ 160: c0 44 00 00 00 00 [ ]*jgl 160 <foo\+0x160>
+ 166: c0 74 00 00 00 00 [ ]*jgne 166 <foo\+0x166>
+ 16c: c0 d4 00 00 00 00 [ ]*jgnh 16c <foo\+0x16c>
+ 172: c0 54 00 00 00 00 [ ]*jgnhe 172 <foo\+0x172>
+ 178: c0 b4 00 00 00 00 [ ]*jgnl 178 <foo\+0x178>
+ 17e: c0 34 00 00 00 00 [ ]*jgnle 17e <foo\+0x17e>
+ 184: c0 94 00 00 00 00 [ ]*jgnlh 184 <foo\+0x184>
+ 18a: c0 b4 00 00 00 00 [ ]*jgnl 18a <foo\+0x18a>
+ 190: c0 e4 00 00 00 00 [ ]*jgno 190 <foo\+0x190>
+ 196: c0 d4 00 00 00 00 [ ]*jgnh 196 <foo\+0x196>
+ 19c: c0 74 00 00 00 00 [ ]*jgne 19c <foo\+0x19c>
+ 1a2: c0 14 00 00 00 00 [ ]*jgo 1a2 <foo\+0x1a2>
+ 1a8: c0 24 00 00 00 00 [ ]*jgh 1a8 <foo\+0x1a8>
+ 1ae: c0 84 00 00 00 00 [ ]*jge 1ae <foo\+0x1ae>
+ 1b4: c0 60 00 00 00 00 [ ]*larl %r6,1b4 <foo\+0x1b4>
+ 1ba: b9 13 00 69 [ ]*lcgfr %r6,%r9
+ 1be: b9 03 00 69 [ ]*lcgr %r6,%r9
+ 1c2: eb 69 5f ff 00 2f [ ]*lctlg %r6,%r9,4095\(%r5\)
+ 1c8: e3 65 af ff 00 04 [ ]*lg %r6,4095\(%r5,%r10\)
+ 1ce: e3 65 af ff 00 14 [ ]*lgf %r6,4095\(%r5,%r10\)
+ 1d4: b9 14 00 69 [ ]*lgfr %r6,%r9
+ 1d8: e3 65 af ff 00 15 [ ]*lgh %r6,4095\(%r5,%r10\)
+ 1de: a7 69 80 01 [ ]*lghi %r6,-32767
+ 1e2: b9 04 00 69 [ ]*lgr %r6,%r9
+ 1e6: e3 65 af ff 00 90 [ ]*llgc %r6,4095\(%r5,%r10\)
+ 1ec: e3 65 af ff 00 16 [ ]*llgf %r6,4095\(%r5,%r10\)
+ 1f2: b9 16 00 69 [ ]*llgfr %r6,%r9
+ 1f6: e3 65 af ff 00 91 [ ]*llgh %r6,4095\(%r5,%r10\)
+ 1fc: e3 65 af ff 00 17 [ ]*llgt %r6,4095\(%r5,%r10\)
+ 202: b9 17 00 69 [ ]*llgtr %r6,%r9
+ 206: a5 6c ff ff [ ]*llihh %r6,65535
+ 20a: a5 6d ff ff [ ]*llihl %r6,65535
+ 20e: a5 6e ff ff [ ]*llilh %r6,65535
+ 212: a5 6f ff ff [ ]*llill %r6,65535
+ 216: ef 69 5f ff af ff [ ]*lmd %r6,%r9,4095\(%r5\),4095\(%r10\)
+ 21c: eb 69 5f ff 00 04 [ ]*lmg %r6,%r9,4095\(%r5\)
+ 222: eb 69 5f ff 00 96 [ ]*lmh %r6,%r9,4095\(%r5\)
+ 228: b9 11 00 69 [ ]*lngfr %r6,%r9
+ 22c: b9 01 00 69 [ ]*lngr %r6,%r9
+ 230: b9 10 00 69 [ ]*lpgfr %r6,%r9
+ 234: b9 00 00 69 [ ]*lpgr %r6,%r9
+ 238: e3 65 af ff 00 8f [ ]*lpq %r6,4095\(%r5,%r10\)
+ 23e: b2 b2 5f ff [ ]*lpswe 4095\(%r5\)
+ 242: e3 65 af ff 00 03 [ ]*lrag %r6,4095\(%r5,%r10\)
+ 248: e3 65 af ff 00 1e [ ]*lrv %r6,4095\(%r5,%r10\)
+ 24e: e3 65 af ff 00 0f [ ]*lrvg %r6,4095\(%r5,%r10\)
+ 254: b9 0f 00 69 [ ]*lrvgr %r6,%r9
+ 258: e3 65 af ff 00 1f [ ]*lrvh %r6,4095\(%r5,%r10\)
+ 25e: b9 1f 00 69 [ ]*lrvr %r6,%r9
+ 262: b9 12 00 69 [ ]*ltgfr %r6,%r9
+ 266: b9 02 00 69 [ ]*ltgr %r6,%r9
+ 26a: b9 05 00 69 [ ]*lurag %r6,%r9
+ 26e: b3 75 00 60 [ ]*lzdr %r6
+ 272: b3 74 00 60 [ ]*lzer %r6
+ 276: b3 76 00 60 [ ]*lzxr %r6
+ 27a: a7 6d 80 01 [ ]*mghi %r6,-32767
+ 27e: e3 65 af ff 00 96 [ ]*ml %r6,4095\(%r5,%r10\)
+ 284: e3 65 af ff 00 86 [ ]*mlg %r6,4095\(%r5,%r10\)
+ 28a: b9 86 00 69 [ ]*mlgr %r6,%r9
+ 28e: b9 96 00 69 [ ]*mlr %r6,%r9
+ 292: e3 65 af ff 00 0c [ ]*msg %r6,4095\(%r5,%r10\)
+ 298: e3 65 af ff 00 1c [ ]*msgf %r6,4095\(%r5,%r10\)
+ 29e: b9 1c 00 69 [ ]*msgfr %r6,%r9
+ 2a2: b9 0c 00 69 [ ]*msgr %r6,%r9
+ 2a6: eb 69 5f ff 00 8e [ ]*mvclu %r6,%r9,4095\(%r5\)
+ 2ac: e3 65 af ff 00 80 [ ]*ng %r6,4095\(%r5,%r10\)
+ 2b2: b9 80 00 69 [ ]*ngr %r6,%r9
+ 2b6: a5 64 ff ff [ ]*nihh %r6,65535
+ 2ba: a5 65 ff ff [ ]*nihl %r6,65535
+ 2be: a5 66 ff ff [ ]*nilh %r6,65535
+ 2c2: a5 67 ff ff [ ]*nill %r6,65535
+ 2c6: e3 65 af ff 00 81 [ ]*og %r6,4095\(%r5,%r10\)
+ 2cc: b9 81 00 69 [ ]*ogr %r6,%r9
+ 2d0: a5 68 ff ff [ ]*oihh %r6,65535
+ 2d4: a5 69 ff ff [ ]*oihl %r6,65535
+ 2d8: a5 6a ff ff [ ]*oilh %r6,65535
+ 2dc: a5 6b ff ff [ ]*oill %r6,65535
+ 2e0: e9 ff 5f ff af ff [ ]*pka 4095\(256,%r5\),4095\(%r10\)
+ 2e6: e1 ff 5f ff af ff [ ]*pku 4095\(256,%r5\),4095\(%r10\)
+ 2ec: eb 69 5f ff 00 1d [ ]*rll %r6,%r9,4095\(%r5\)
+ 2f2: eb 69 5f ff 00 1c [ ]*rllg %r6,%r9,4095\(%r5\)
+ 2f8: 01 0c [ ]*sam24
+ 2fa: 01 0d [ ]*sam31
+ 2fc: 01 0e [ ]*sam64
+ 2fe: e3 65 af ff 00 09 [ ]*sg %r6,4095\(%r5,%r10\)
+ 304: e3 65 af ff 00 19 [ ]*sgf %r6,4095\(%r5,%r10\)
+ 30a: b9 19 00 69 [ ]*sgfr %r6,%r9
+ 30e: b9 09 00 69 [ ]*sgr %r6,%r9
+ 312: eb 69 5f ff 00 0b [ ]*slag %r6,%r9,4095\(%r5\)
+ 318: e3 65 af ff 00 99 [ ]*slb %r6,4095\(%r5,%r10\)
+ 31e: e3 65 af ff 00 89 [ ]*slbg %r6,4095\(%r5,%r10\)
+ 324: b9 89 00 69 [ ]*slbgr %r6,%r9
+ 328: b9 99 00 69 [ ]*slbr %r6,%r9
+ 32c: e3 65 af ff 00 0b [ ]*slg %r6,4095\(%r5,%r10\)
+ 332: e3 65 af ff 00 1b [ ]*slgf %r6,4095\(%r5,%r10\)
+ 338: b9 1b 00 69 [ ]*slgfr %r6,%r9
+ 33c: b9 0b 00 69 [ ]*slgr %r6,%r9
+ 340: eb 69 5f ff 00 0d [ ]*sllg %r6,%r9,4095\(%r5\)
+ 346: eb 69 5f ff 00 0a [ ]*srag %r6,%r9,4095\(%r5\)
+ 34c: eb 69 5f ff 00 0c [ ]*srlg %r6,%r9,4095\(%r5\)
+ 352: b2 78 5f ff [ ]*stcke 4095\(%r5\)
+ 356: eb 6a 5f ff 00 2c [ ]*stcmh %r6,10,4095\(%r5\)
+ 35c: eb 69 5f ff 00 25 [ ]*stctg %r6,%r9,4095\(%r5\)
+ 362: b2 b1 5f ff [ ]*stfl 4095\(%r5\)
+ 366: e3 65 af ff 00 24 [ ]*stg %r6,4095\(%r5,%r10\)
+ 36c: eb 69 5f ff 00 24 [ ]*stmg %r6,%r9,4095\(%r5\)
+ 372: eb 69 5f ff 00 26 [ ]*stmh %r6,%r9,4095\(%r5\)
+ 378: e3 65 af ff 00 8e [ ]*stpq %r6,4095\(%r5,%r10\)
+ 37e: e5 00 5f ff 9f ff [ ]*lasp 4095\(%r5\),4095\(%r9\)
+ 384: e3 65 af ff 00 3e [ ]*strv %r6,4095\(%r5,%r10\)
+ 38a: e3 65 af ff 00 2f [ ]*strvg %r6,4095\(%r5,%r10\)
+ 390: e3 65 af ff 00 3f [ ]*strvh %r6,4095\(%r5,%r10\)
+ 396: b9 25 00 69 [ ]*sturg %r6,%r9
+ 39a: 01 0b [ ]*tam
+ 39c: b3 51 f0 69 [ ]*tbdr %f6,15,%f9
+ 3a0: b3 50 f0 69 [ ]*tbedr %f6,15,%f9
+ 3a4: b3 58 00 69 [ ]*thder %r6,%r9
+ 3a8: b3 59 00 69 [ ]*thdr %r6,%r9
+ 3ac: a7 62 ff ff [ ]*tmhh %r6,65535
+ 3b0: a7 63 ff ff [ ]*tmhl %r6,65535
+ 3b4: a7 60 ff ff [ ]*tmh %r6,65535
+ 3b8: a7 61 ff ff [ ]*tml %r6,65535
+ 3bc: eb 69 5f ff 00 0f [ ]*tracg %r6,%r9,4095\(%r5\)
+ 3c2: b2 a5 00 69 [ ]*tre %r6,%r9
+ 3c6: b9 93 00 69 [ ]*troo %r6,%r9
+ 3ca: b9 92 00 69 [ ]*trot %r6,%r9
+ 3ce: b9 91 00 69 [ ]*trto %r6,%r9
+ 3d2: b9 90 00 69 [ ]*trtt %r6,%r9
+ 3d6: ea ff 5f ff af ff [ ]*unpka 4095\(256,%r5\),4095\(%r10\)
+ 3dc: e2 ff 5f ff af ff [ ]*unpku 4095\(256,%r5\),4095\(%r10\)
+ 3e2: e3 65 af ff 00 82 [ ]*xg %r6,4095\(%r5,%r10\)
+ 3e8: b9 82 00 69 [ ]*xgr %r6,%r9
diff --git a/gas/testsuite/gas/s390/opcode64.s b/gas/testsuite/gas/s390/opcode64.s
new file mode 100644
index 0000000..07fdad3
--- /dev/null
+++ b/gas/testsuite/gas/s390/opcode64.s
@@ -0,0 +1,205 @@
+.text
+foo:
+ ag %r9,4095(%r5,%r10)
+ agf %r9,4095(%r5,%r10)
+ agfr %r9,%r6
+ aghi %r9,-32767
+ agr %r9,%r6
+ alc %r9,4095(%r5,%r10)
+ alcg %r9,4095(%r5,%r10)
+ alcgr %r9,%r6
+ alcr %r9,%r6
+ alg %r9,4095(%r5,%r10)
+ algf %r9,4095(%r5,%r10)
+ algfr %r9,%r6
+ algr %r9,%r6
+ bctg %r6,4095(%r5,%r10)
+ bctgr %r6,%r9
+ brasl %r6,.
+ brcl 15,.
+ brctg %r6,.
+ brxhg %r6,%r9,.
+ brxlg %r6,%r9,.
+ bxhg %r6,%r9,4095(%r5)
+ bxleg %r6,%r9,4095(%r5)
+ cdgbr %r6,%r9
+ cdgr %r6,%r9
+ cdsg %r6,%r9,4095(%r5)
+ cegbr %r6,%r9
+ cegr %r6,%r9
+ cg %r6,4095(%r5,%r10)
+ cgdbr %r6,15,%r9
+ cgdr %f6,9,%r5
+ cgebr %r6,15,%r9
+ cger %f6,9,%r5
+ cgf %r6,4095(%r5,%r10)
+ cgfr %r6,%r9
+ cghi %r6,-32767
+ cgr %r6,%r9
+ cgxbr %r6,15,%r9
+ cgxr %f6,9,%r5
+ clg %r6,4095(%r5,%r10)
+ clgf %r6,4095(%r5,%r10)
+ clgfr %r6,%r9
+ clgr %r6,%r9
+ clmh %r6,10,4095(%r5)
+ csg %r6,%r9,4095(%r5)
+ cvbg %r6,4095(%r5,%r10)
+ cvdg %r6,4095(%r5,%r10)
+ cxgbr %r6,%r9
+ cxgr %r6,%r9
+ dl %r6,4095(%r5,%r10)
+ dlg %r6,4095(%r5,%r10)
+ dlgr %r6,%r9
+ dlr %r6,%r9
+ dsg %r6,4095(%r5,%r10)
+ dsgf %r6,4095(%r5,%r10)
+ dsgfr %r6,%r9
+ dsgr %r6,%r9
+ epsw %r6,%r9
+ eregg %r6,%r9
+ esea %r6
+ icmh %r6,10,4095(%r5)
+ iihh %r6,65535
+ iihl %r6,65535
+ iilh %r6,65535
+ iill %r6,65535
+ jg .
+ jge .
+ jgh .
+ jghe .
+ jgl .
+ jgle .
+ jglh .
+ jgm .
+ jgne .
+ jgnh .
+ jgnhe .
+ jgnl .
+ jgnle .
+ jgnlh .
+ jgnm .
+ jgno .
+ jgnp .
+ jgnz .
+ jgo .
+ jgp .
+ jgz .
+ larl %r6,.
+ lcgfr %r6,%r9
+ lcgr %r6,%r9
+ lctlg %r6,%r9,4095(%r5)
+ lg %r6,4095(%r5,%r10)
+ lgf %r6,4095(%r5,%r10)
+ lgfr %r6,%r9
+ lgh %r6,4095(%r5,%r10)
+ lghi %r6,-32767
+ lgr %r6,%r9
+ llgc %r6,4095(%r5,%r10)
+ llgf %r6,4095(%r5,%r10)
+ llgfr %r6,%r9
+ llgh %r6,4095(%r5,%r10)
+ llgt %r6,4095(%r5,%r10)
+ llgtr %r6,%r9
+ llihh %r6,65535
+ llihl %r6,65535
+ llilh %r6,65535
+ llill %r6,65535
+ lmd %r6,%r9,4095(%r5),4095(%r10)
+ lmg %r6,%r9,4095(%r5)
+ lmh %r6,%r9,4095(%r5)
+ lngfr %r6,%r9
+ lngr %r6,%r9
+ lpgfr %r6,%r9
+ lpgr %r6,%r9
+ lpq %r6,4095(%r5,%r10)
+ lpswe 4095(%r5)
+ lrag %r6,4095(%r5,%r10)
+ lrv %r6,4095(%r5,%r10)
+ lrvg %r6,4095(%r5,%r10)
+ lrvgr %r6,%r9
+ lrvh %r6,4095(%r5,%r10)
+ lrvr %r6,%r9
+ ltgfr %r6,%r9
+ ltgr %r6,%r9
+ lurag %r6,%r9
+ lzdr %r6
+ lzer %r6
+ lzxr %r6
+ mghi %r6,-32767
+ ml %r6,4095(%r5,%r10)
+ mlg %r6,4095(%r5,%r10)
+ mlgr %r6,%r9
+ mlr %r6,%r9
+ msg %r6,4095(%r5,%r10)
+ msgf %r6,4095(%r5,%r10)
+ msgfr %r6,%r9
+ msgr %r6,%r9
+ mvclu %r6,%r9,4095(%r5)
+ ng %r6,4095(%r5,%r10)
+ ngr %r6,%r9
+ nihh %r6,65535
+ nihl %r6,65535
+ nilh %r6,65535
+ nill %r6,65535
+ og %r6,4095(%r5,%r10)
+ ogr %r6,%r9
+ oihh %r6,65535
+ oihl %r6,65535
+ oilh %r6,65535
+ oill %r6,65535
+ pka 4095(256,%r5),4095(%r10)
+ pku 4095(256,%r5),4095(%r10)
+ rll %r6,%r9,4095(%r5)
+ rllg %r6,%r9,4095(%r5)
+ sam24
+ sam31
+ sam64
+ sg %r6,4095(%r5,%r10)
+ sgf %r6,4095(%r5,%r10)
+ sgfr %r6,%r9
+ sgr %r6,%r9
+ slag %r6,%r9,4095(%r5)
+ slb %r6,4095(%r5,%r10)
+ slbg %r6,4095(%r5,%r10)
+ slbgr %r6,%r9
+ slbr %r6,%r9
+ slg %r6,4095(%r5,%r10)
+ slgf %r6,4095(%r5,%r10)
+ slgfr %r6,%r9
+ slgr %r6,%r9
+ sllg %r6,%r9,4095(%r5)
+ srag %r6,%r9,4095(%r5)
+ srlg %r6,%r9,4095(%r5)
+ stcke 4095(%r5)
+ stcmh %r6,10,4095(%r5)
+ stctg %r6,%r9,4095(%r5)
+ stfl 4095(%r5)
+ stg %r6,4095(%r5,%r10)
+ stmg %r6,%r9,4095(%r5)
+ stmh %r6,%r9,4095(%r5)
+ stpq %r6,4095(%r5,%r10)
+ strag 4095(%r5),4095(%r9)
+ strv %r6,4095(%r5,%r10)
+ strvg %r6,4095(%r5,%r10)
+ strvh %r6,4095(%r5,%r10)
+ sturg %r6,%r9
+ tam
+ tbdr %r6,15,%r9
+ tbedr %r6,15,%r9
+ thder %r6,%r9
+ thdr %r6,%r9
+ tmhh %r6,65535
+ tmhl %r6,65535
+ tmlh %r6,65535
+ tmll %r6,65535
+ tracg %r6,%r9,4095(%r5)
+ tre %r6,%r9
+ troo %r6,%r9
+ trot %r6,%r9
+ trto %r6,%r9
+ trtt %r6,%r9
+ unpka 4095(256,%r5),4095(%r10)
+ unpku 4095(256,%r5),4095(%r10)
+ xg %r6,4095(%r5,%r10)
+ xgr %r6,%r9
diff --git a/gas/testsuite/gas/s390/operands.d b/gas/testsuite/gas/s390/operands.d
new file mode 100644
index 0000000..d174408
--- /dev/null
+++ b/gas/testsuite/gas/s390/operands.d
@@ -0,0 +1,23 @@
+#name: s390 operands
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: 01 01 [ ]*pr
+ 2: a7 1a 80 01 [ ]*ahi %r1,-32767
+ 6: 18 12 [ ]*lr %r1,%r2
+ 8: b2 5e 00 12 [ ]*srst %r1,%r2
+ c: b3 5b 93 12 [ ]*didbr %f1,%f9,%f2,3
+ 10: ba 12 40 03 [ ]*cs %r1,%r2,3\(%r4\)
+ 14: 84 12 00 00 [ ]*brxh %r1,%r2,14 <foo\+0x14>
+[ ]*16: R_390_PC16DBL test_rsi\+0x2
+ 18: 58 13 40 02 [ ]*l %r1,2\(%r3,%r4\)
+ 1c: ed 10 30 02 00 1a [ ]*adb %f1,2\(%r3\)
+ 22: ed 24 50 03 10 1e [ ]*madb %f1,%f2,3\(%r4,%r5\)
+ 28: b2 33 20 01 [ ]*ssch 1\(%r2\)
+ 2c: 92 03 20 01 [ ]*mvi 1\(%r2\),3
+ 30: d2 26 30 01 50 04 [ ]*mvc 1\(39,%r3\),4\(%r5\)
+ 36: e5 01 20 01 40 03 [ ]*tprot 1\(%r2\),3\(%r4\)
diff --git a/gas/testsuite/gas/s390/operands.s b/gas/testsuite/gas/s390/operands.s
new file mode 100644
index 0000000..9f030e8
--- /dev/null
+++ b/gas/testsuite/gas/s390/operands.s
@@ -0,0 +1,16 @@
+.text
+foo:
+ .insn e,0x0101
+ .insn ri,0xa70a0000,%r1,-32767
+ .insn rr,0x1800,%r1,%r2
+ .insn rre,0xb25e0000,%r1,%r2
+ .insn rrf,0xb35b0000,%f1,%f2,9,%f3
+ .insn rs,0xba000000,%r1,%r2,3(%r4)
+ .insn rsi,0x84000000,%r1,%r2,test_rsi
+ .insn rx,0x58000000,%r1,2(%r3,%r4)
+ .insn rxe,0xed000000001a,%f1,2(%r3)
+ .insn rxf,0xed000000001e,%f1,%f2,3(%r4,%r5)
+ .insn s,0xb2330000,1(%r2)
+ .insn si,0x92000000,1(%r2),3
+ .insn ss,0xd20000000000,1(2,%r3),4(%r5),6
+ .insn sse,0xe50100000000,1(%r2),3(%r4)
diff --git a/gas/testsuite/gas/s390/operands64.d b/gas/testsuite/gas/s390/operands64.d
new file mode 100644
index 0000000..5cae055
--- /dev/null
+++ b/gas/testsuite/gas/s390/operands64.d
@@ -0,0 +1,14 @@
+#name: s390x operands
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: ec 12 00 00 00 45 [ ]*brxlg %r1,%r2,0 <foo>
+[ ]*2: R_390_PC16DBL test_rie\+0x2
+ 6: c0 e5 00 00 00 00 [ ]*brasl %r14,6 <foo\+0x6>
+[ ]*8: R_390_PC32DBL test_ril\+0x2
+ c: eb 12 40 03 00 0d [ ]*sllg %r1,%r2,3\(%r4\)
+ 12: 07 07 [ ]*bcr 0,%r7
diff --git a/gas/testsuite/gas/s390/operands64.s b/gas/testsuite/gas/s390/operands64.s
new file mode 100644
index 0000000..6313cb2
--- /dev/null
+++ b/gas/testsuite/gas/s390/operands64.s
@@ -0,0 +1,6 @@
+.text
+foo:
+ .insn rie,0xec0000000045,%r1,%r2,test_rie
+ .insn ril,0xc00500000000,%r14,test_ril
+ .insn rse,0xeb000000000d,%r1,%r2,3(%r4)
+
diff --git a/gas/testsuite/gas/s390/reloc.d b/gas/testsuite/gas/s390/reloc.d
new file mode 100644
index 0000000..b1715f9
--- /dev/null
+++ b/gas/testsuite/gas/s390/reloc.d
@@ -0,0 +1,31 @@
+#name: s390 reloc
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: d2 00 10 00 20 00 [ ]*mvc 0\(1,%r1\),0\(%r2\)
+[ ]*1: R_390_8 test_R_390_8
+ 6: 58 01 20 00 [ ]*l %r0,0\(%r1,%r2\)
+[ ]*8: R_390_12 test_R_390_12
+ a: a7 08 00 00 [ ]*lhi %r0,0
+[ ]*c: R_390_16 test_R_390_16
+[ ]*...
+[ ]*e: R_390_32 test_R_390_32
+[ ]*12: R_390_PC32 test_R_390_PC32\+0x12
+ 16: 58 01 20 00 [ ]*l %r0,0\(%r1,%r2\)
+[ ]*18: R_390_GOT12 test_R_390_GOT12
+[ ]*...
+[ ]*1a: R_390_GOT32 test_R_390_GOT32
+[ ]*1e: R_390_PLT32 test_R_390_PLT32
+ 22: a7 08 00 00 [ ]*lhi %r0,0
+[ ]*24: R_390_GOT16 test_R_390_GOT16
+ 26: a7 08 00 00 [ ]*lhi %r0,0
+[ ]*28: R_390_16 test_R_390_PC16\+0x26
+ 2a: a7 e5 00 00 [ ]*bras %r14,2a <foo\+0x2a>
+[ ]*2c: R_390_PC16DBL test_R_390_PC16DBL\+0x2
+ 2e: a7 e5 00 00 [ ]*bras %r14,2e <foo\+0x2e>
+[ ]*30: R_390_PC16DBL test_R_390_PLT16DBL\+0x2
+ 32: 07 07 [ ]*bcr 0,%r7
diff --git a/gas/testsuite/gas/s390/reloc.s b/gas/testsuite/gas/s390/reloc.s
new file mode 100644
index 0000000..fa898cb
--- /dev/null
+++ b/gas/testsuite/gas/s390/reloc.s
@@ -0,0 +1,14 @@
+.text
+foo:
+ mvc 0(test_R_390_8,%r1),0(%r2)
+ l %r0,test_R_390_12(%r1,%r2)
+ lhi %r0,test_R_390_16
+ .long test_R_390_32
+ .long test_R_390_PC32-foo
+ l %r0,test_R_390_GOT12@GOT(%r1,%r2)
+ .long test_R_390_GOT32@GOT
+ .long test_R_390_PLT32@PLT
+ lhi %r0,test_R_390_GOT16@GOT
+ lhi %r0,test_R_390_PC16-foo
+ bras %r14,test_R_390_PC16DBL
+ bras %r14,test_R_390_PLT16DBL
diff --git a/gas/testsuite/gas/s390/reloc64.d b/gas/testsuite/gas/s390/reloc64.d
new file mode 100644
index 0000000..a149103
--- /dev/null
+++ b/gas/testsuite/gas/s390/reloc64.d
@@ -0,0 +1,20 @@
+#name: s390x reloc
+#objdump: -dr
+
+.*: +file format .*
+
+Disassembly of section .text:
+
+.* <foo>:
+ 0: c0 e5 00 00 00 00 [ ]*brasl %r14,0 <foo>
+[ ]*2: R_390_PC32DBL test_R_390_PC32DBL\+0x2
+ 6: c0 e5 00 00 00 00 [ ]*brasl %r14,6 <foo\+0x6>
+[ ]*8: R_390_PC32DBL test_R_390_PLT32DBL\+0x2
+[ ]*...
+[ ]*c: R_390_64 test_R_390_64
+[ ]*14: R_390_PC64 test_R_390_PC64\+0x14
+[ ]*1c: R_390_GOT64 test_R_390_GOT64
+[ ]*24: R_390_PLT64 test_R_390_PLT64
+ 2c: c0 10 00 00 00 00 [ ]*larl %r1,2c <foo\+0x2c>
+[ ]*2e: R_390_GOTENT test_R_390_GOTENT\+0x2
+ 32: 07 07 [ ]*bcr 0,%r7
diff --git a/gas/testsuite/gas/s390/reloc64.s b/gas/testsuite/gas/s390/reloc64.s
new file mode 100644
index 0000000..3348288
--- /dev/null
+++ b/gas/testsuite/gas/s390/reloc64.s
@@ -0,0 +1,9 @@
+.text
+foo:
+ brasl %r14,test_R_390_PC32DBL
+ brasl %r14,test_R_390_PLT32DBL
+ .quad test_R_390_64
+ .quad test_R_390_PC64-foo
+ .quad test_R_390_GOT64@GOT
+ .quad test_R_390_PLT64@PLT
+ larl %r1,test_R_390_GOTENT@GOT
diff --git a/gas/testsuite/gas/s390/s390.exp b/gas/testsuite/gas/s390/s390.exp
new file mode 100644
index 0000000..24e98d0
--- /dev/null
+++ b/gas/testsuite/gas/s390/s390.exp
@@ -0,0 +1,35 @@
+#
+# s390/s390x tests
+#
+proc run_list_test { name opts } {
+ global srcdir subdir
+ set testname "s390 $name"
+ set file $srcdir/$subdir/$name
+ gas_run ${name}.s $opts ">&dump.out"
+ if { [regexp_diff "dump.out" "${file}.l"] } then {
+ fail $testname
+ verbose "output is [file_contents "dump.out"]" 2
+ exit
+ return
+ }
+ pass $testname
+}
+
+if [expr [istarget "s390-*-*"] || [istarget "s390x-*-*"]] then {
+
+ run_dump_test "opcode"
+ run_dump_test "reloc"
+ run_dump_test "operands"
+
+# # PIC is only supported on ELF targets.
+# if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"] ) } then {
+# run_dump_test "s390pic"
+# }
+}
+
+if [istarget "s390x-*-*"] then {
+
+ run_dump_test "opcode64"
+ run_dump_test "reloc64"
+ run_dump_test "operands64"
+}