diff options
author | Nick Clifton <nickc@redhat.com> | 2001-09-18 15:41:33 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2001-09-18 15:41:33 +0000 |
commit | b6849f55b93759fa93a28c749cee6b799000067e (patch) | |
tree | 81746f85b1463c2b72ecb67aa1b9a234d5e77b84 /gas | |
parent | 55c808902f95f3394179ca67a0e54dea4d1c8cdb (diff) | |
download | gdb-b6849f55b93759fa93a28c749cee6b799000067e.zip gdb-b6849f55b93759fa93a28c749cee6b799000067e.tar.gz gdb-b6849f55b93759fa93a28c749cee6b799000067e.tar.bz2 |
s390 assembler improvements and testsuite
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-s390.c | 13 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/opcode.d | 425 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/opcode.s | 419 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/opcode64.d | 211 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/opcode64.s | 205 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/operands.d | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/operands.s | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/operands64.d | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/operands64.s | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/reloc.d | 31 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/reloc.s | 14 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/reloc64.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/reloc64.s | 9 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/s390.exp | 35 |
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" +} |