stpq R1,D2(X2,B2) operand R1 must designate an even-odd pair of general
registers and must designate an even-numbered register; otherwise, a
specification exception is recognized. [1]
[1]: IBM z/Architecture Principles of Operation, SA22-7832-14, IBM z17,
https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf
opcodes/
* s390-opc.txt (stpq): Use RXE_RERRD and RXY_RERRD instruction
formats.
gas/testsuite/
* gas/s390/zarch-z900.d (stpq): Operand R1 must designate an
even-odd register pair.
* gas/s390/zarch-z900.s (stpq): Likewise.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
gas/testsuite/gas/s390/zarch-z900.d | 2 +-
gas/testsuite/gas/s390/zarch-z900.s | 2 +-
opcodes/s390-opc.txt | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
@@ -141,7 +141,7 @@ Disassembly of section .text:
.*: e3 95 af ff 00 24 [ ]*stg %r9,4095\(%r5,%r10\)
.*: eb 96 5f ff 00 24 [ ]*stmg %r9,%r6,4095\(%r5\)
.*: eb 96 5f ff 00 26 [ ]*stmh %r9,%r6,4095\(%r5\)
-.*: e3 95 af ff 00 8e [ ]*stpq %r9,4095\(%r5,%r10\)
+.*: e3 85 af ff 00 8e [ ]*stpq %r8,4095\(%r5,%r10\)
.*: e5 02 5f ff 9f ff [ ]*strag 4095\(%r5\),4095\(%r9\)
.*: e3 95 af ff 00 2f [ ]*strvg %r9,4095\(%r5,%r10\)
.*: b9 25 00 96 [ ]*sturg %r9,%r6
@@ -135,7 +135,7 @@ foo:
stg %r9,4095(%r5,%r10)
stmg %r9,%r6,4095(%r5)
stmh %r9,%r6,4095(%r5)
- stpq %r9,4095(%r5,%r10)
+ stpq %r8,4095(%r5,%r10)
strag 4095(%r5),4095(%r9)
strvg %r9,4095(%r5,%r10)
sturg %r9,%r6
@@ -560,7 +560,7 @@ e30000000086 mlg RXE_RERRD "multiply logical 64" z900 zarch
e30000000087 dlg RXE_RERRD "divide logical 64" z900 zarch
e30000000088 alcg RXE_RRRD "add logical with carry 64" z900 zarch
e30000000089 slbg RXE_RRRD "subtract logical with borrow 64" z900 zarch
-e3000000008e stpq RXE_RRRD "store pair to quadword" z900 zarch
+e3000000008e stpq RXE_RERRD "store pair to quadword" z900 zarch
e3000000008f lpq RXE_RERRD "load pair from quadword" z900 zarch
e30000000096 ml RXE_RERRD "multiply logical 32" z900 esa,zarch
e30000000097 dl RXE_RERRD "divide logical 32" z900 esa,zarch
@@ -692,7 +692,7 @@ e30000000086 mlg RXY_RERRD "multiply logical 64" z990 zarch
e30000000087 dlg RXY_RERRD "divide logical 64" z990 zarch
e30000000088 alcg RXY_RRRD "add logical with carry 64" z990 zarch
e30000000089 slbg RXY_RRRD "subtract logical with borrow 64" z990 zarch
-e3000000008e stpq RXY_RRRD "store pair to quadword" z990 zarch
+e3000000008e stpq RXY_RERRD "store pair to quadword" z990 zarch
e3000000008f lpq RXY_RERRD "load pair from quadword" z990 zarch
e30000000090 llgc RXY_RRRD "load logical character" z990 zarch
e30000000091 llgh RXY_RRRD "load logical halfword" z990 zarch