diff options
author | Andreas Krebbel <krebbel@linux.ibm.com> | 2020-12-04 09:00:43 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.ibm.com> | 2020-12-04 09:14:02 +0100 |
commit | c524d11e50729ac1a14ac1e749d9a5c459881391 (patch) | |
tree | 444455e4ab26534a622e176053bdae4ac261ed73 /gas | |
parent | 288f0ba26478ec3a8926d54319b9c899e64e26a7 (diff) | |
download | binutils-c524d11e50729ac1a14ac1e749d9a5c459881391.zip binutils-c524d11e50729ac1a14ac1e749d9a5c459881391.tar.gz binutils-c524d11e50729ac1a14ac1e749d9a5c459881391.tar.bz2 |
IBM Z: Add risbgz and risbgnz extended mnemonics
These two extended mnemonics are documented in the Principles of
Operations manual but currently not supported by Binutils. They
provide aliases for already supported instructions with the zero flag
being set. The flag otherwise is mingled into one of the immediate
operands what makes asm code much harder to read.
opcodes/
* s390-opc.txt: Add risbgz and risbgnz.
* s390-opc.c (U6_26): New operand type.
(INSTR_RIE_RRUUU2, MASK_RIE_RRUUU2): New instruction format and
mask.
gas/
* testsuite/gas/s390/zarch-z10.s: Add tests for risbgz.
* testsuite/gas/s390/zarch-z10.d: Add regexp for risbgz.
* testsuite/gas/s390/zarch-zEC12.s: Add tests for risbgnz.
* testsuite/gas/s390/zarch-zEC12.d: Add regexp for risbgnz.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/zarch-z10.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/zarch-z10.s | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/zarch-zEC12.d | 20 | ||||
-rw-r--r-- | gas/testsuite/gas/s390/zarch-zEC12.s | 3 |
5 files changed, 31 insertions, 15 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 96935a6..c131037 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2020-12-04 Andreas Krebbel <krebbel@linux.ibm.com> + + * testsuite/gas/s390/zarch-z10.s: Add tests for risbgz. + * testsuite/gas/s390/zarch-z10.d: Add regexp for risbgz. + * testsuite/gas/s390/zarch-zEC12.s: Add tests for risbgnz. + * testsuite/gas/s390/zarch-zEC12.d: Add regexp for risbgnz. + 2020-12-03 Andreas Krebbel <krebbel@linux.ibm.com> * testsuite/gas/s390/esa-g5.s: Test new extended mnemonics. diff --git a/gas/testsuite/gas/s390/zarch-z10.d b/gas/testsuite/gas/s390/zarch-z10.d index e60ec51..183e98e 100644 --- a/gas/testsuite/gas/s390/zarch-z10.d +++ b/gas/testsuite/gas/s390/zarch-z10.d @@ -362,11 +362,13 @@ Disassembly of section .text: .*: ec 67 d2 dc e6 54 [ ]*rnsbg %r6,%r7,210,220,230 .*: ec 67 d2 dc e6 57 [ ]*rxsbg %r6,%r7,210,220,230 .*: ec 67 d2 dc e6 56 [ ]*rosbg %r6,%r7,210,220,230 -.*: ec 67 d2 dc e6 55 [ ]*risbg %r6,%r7,210,220,230 -.*: c4 6f 00 00 00 00 [ ]*strl %r6,7f6 <foo\+0x7f6> -.*: c4 6b 00 00 00 00 [ ]*stgrl %r6,7fc <foo\+0x7fc> -.*: c4 67 00 00 00 00 [ ]*sthrl %r6,802 <foo\+0x802> -.*: c6 60 00 00 00 00 [ ]*exrl %r6,808 <foo\+0x808> +.*: ec 67 d2 14 e6 55 [ ]*risbg %r6,%r7,210,20,230 +.*: ec 67 d2 bc e6 55 [ ]*risbgz %r6,%r7,210,60,230 +.*: ec 67 d2 94 e6 55 [ ]*risbgz %r6,%r7,210,20,230 +.*: c4 6f 00 00 00 00 [ ]*strl %r6,802 <foo\+0x802> +.*: c4 6b 00 00 00 00 [ ]*stgrl %r6,808 <foo\+0x808> +.*: c4 67 00 00 00 00 [ ]*sthrl %r6,80e <foo\+0x80e> +.*: c6 60 00 00 00 00 [ ]*exrl %r6,814 <foo\+0x814> .*: af ee 6d 05 [ ]*mc 3333\(%r6\),238 .*: b9 a2 00 60 [ ]*ptf %r6 .*: b9 af 00 67 [ ]*pfmf %r6,%r7 diff --git a/gas/testsuite/gas/s390/zarch-z10.s b/gas/testsuite/gas/s390/zarch-z10.s index bd292e9..5cfc533 100644 --- a/gas/testsuite/gas/s390/zarch-z10.s +++ b/gas/testsuite/gas/s390/zarch-z10.s @@ -356,7 +356,9 @@ foo: rnsbg %r6,%r7,210,220,230 rxsbg %r6,%r7,210,220,230 rosbg %r6,%r7,210,220,230 - risbg %r6,%r7,210,220,230 + risbg %r6,%r7,210,20,230 + risbg %r6,%r7,210,188,230 + risbgz %r6,%r7,210,20,230 strl %r6,. stgrl %r6,. sthrl %r6,. diff --git a/gas/testsuite/gas/s390/zarch-zEC12.d b/gas/testsuite/gas/s390/zarch-zEC12.d index a4be510..e25ac13 100644 --- a/gas/testsuite/gas/s390/zarch-zEC12.d +++ b/gas/testsuite/gas/s390/zarch-zEC12.d @@ -47,6 +47,8 @@ Disassembly of section .text: .*: eb 6c 7a 4d fe 2b [ ]*clgtnh %r6,-5555\(%r7\) .*: eb 6c 7a 4d fe 2b [ ]*clgtnh %r6,-5555\(%r7\) .*: ec 67 0c 0d 0e 59 [ ]*risbgn %r6,%r7,12,13,14 +.*: ec 67 0c bc 0e 59 [ ]*risbgnz %r6,%r7,12,60,14 +.*: ec 67 0c 94 0e 59 [ ]*risbgnz %r6,%r7,12,20,14 .*: ed 0f 8f a0 6d aa [ ]*cdzt %f6,4000\(16,%r8\),13 .*: ed 21 8f a0 4d ab [ ]*cxzt %f4,4000\(34,%r8\),13 .*: ed 0f 8f a0 6d a8 [ ]*czdt %f6,4000\(16,%r8\),13 @@ -54,16 +56,16 @@ Disassembly of section .text: .*: b2 e8 c0 56 [ ]*ppa %r5,%r6,12 .*: b9 8f 60 59 [ ]*crdte %r5,%r6,%r9 .*: b9 8f 61 59 [ ]*crdte %r5,%r6,%r9,1 -.*: c5 a0 0c 00 00 0c [ ]*bprp 10,12a <bar>,12a <bar> -.*: c5 a0 00 00 00 00 [ ]*bprp 10,118 <foo\+0x118>,118 <foo\+0x118> -[ ]*119: R_390_PLT12DBL bar\+0x1 -[ ]*11b: R_390_PLT24DBL bar\+0x3 -.*: c7 a0 00 00 00 00 [ ]*bpp 10,11e <foo\+0x11e>,0 -[ ]*122: R_390_PLT16DBL bar\+0x4 -.*: c7 a0 00 00 00 00 [ ]*bpp 10,124 <foo\+0x124>,0 -[ ]*128: R_390_PC16DBL baz\+0x4 +.*: c5 a0 0c 00 00 0c [ ]*bprp 10,136 <bar>,136 <bar> +.*: c5 a0 00 00 00 00 [ ]*bprp 10,124 <foo\+0x124>,124 <foo\+0x124> +[ ]*125: R_390_PLT12DBL bar\+0x1 +[ ]*127: R_390_PLT24DBL bar\+0x3 +.*: c7 a0 00 00 00 00 [ ]*bpp 10,12a <foo\+0x12a>,0 +[ ]*12e: R_390_PLT16DBL bar\+0x4 +.*: c7 a0 00 00 00 00 [ ]*bpp 10,130 <foo\+0x130>,0 +[ ]*134: R_390_PC16DBL baz\+0x4 -000000000000012a <bar>: +0000000000000136 <bar>: .*: 07 07 [ ]*nopr %r7 diff --git a/gas/testsuite/gas/s390/zarch-zEC12.s b/gas/testsuite/gas/s390/zarch-zEC12.s index 4754b20..03b577e 100644 --- a/gas/testsuite/gas/s390/zarch-zEC12.s +++ b/gas/testsuite/gas/s390/zarch-zEC12.s @@ -44,6 +44,9 @@ foo: clgtnh %r6,-5555(%r7) risbgn %r6,%r7,12,13,14 + risbgn %r6,%r7,12,188,14 + risbgnz %r6,%r7,12,20,14 + cdzt %f6,4000(16,%r8),13 cxzt %f4,4000(34,%r8),13 czdt %f6,4000(16,%r8),13 |