aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorPeter Bergner <bergner@linux.ibm.com>2022-11-08 12:40:08 -0600
committerPeter Bergner <bergner@linux.ibm.com>2022-12-07 11:47:16 -0600
commita60038c648d15fcb4bb91772433ea5e668cdf87d (patch)
tree579547073823b8101451efe0de19709419a5ca13 /gas
parent1de4b5156345d7cba14224ee12c1121ff061b066 (diff)
downloadfsf-binutils-gdb-a60038c648d15fcb4bb91772433ea5e668cdf87d.zip
fsf-binutils-gdb-a60038c648d15fcb4bb91772433ea5e668cdf87d.tar.gz
fsf-binutils-gdb-a60038c648d15fcb4bb91772433ea5e668cdf87d.tar.bz2
PowerPC: Add support for RFC02656 - Enhanced Load Store with Length Instructions
opcodes/ * ppc-opc.c (PPCVSXF): New define. (powerpc_opcodes): Add lxvrl, lxvrll, lxvprl, lxvprll, stxvrl, stxvrll, stxvprl, stxvprl. gas/ * testsuite/gas/ppc/rfc02656.s: New test. * testsuite/gas/ppc/rfc02656.d: Likewise. * testsuite/gas/ppc/ppc.exp: Run it.
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/gas/ppc/ppc.exp1
-rw-r--r--gas/testsuite/gas/ppc/rfc02656.d19
-rw-r--r--gas/testsuite/gas/ppc/rfc02656.s10
3 files changed, 30 insertions, 0 deletions
diff --git a/gas/testsuite/gas/ppc/ppc.exp b/gas/testsuite/gas/ppc/ppc.exp
index 500738a..3c593ec 100644
--- a/gas/testsuite/gas/ppc/ppc.exp
+++ b/gas/testsuite/gas/ppc/ppc.exp
@@ -146,6 +146,7 @@ run_dump_test "scalarquad"
run_dump_test "rop"
run_dump_test "rop-checks"
run_dump_test "rfc02653"
+run_dump_test "rfc02656"
run_dump_test "rfc02658"
run_dump_test "dcbt"
diff --git a/gas/testsuite/gas/ppc/rfc02656.d b/gas/testsuite/gas/ppc/rfc02656.d
new file mode 100644
index 0000000..a24e135
--- /dev/null
+++ b/gas/testsuite/gas/ppc/rfc02656.d
@@ -0,0 +1,19 @@
+#as: -mfuture
+#objdump: -dr -Mfuture
+#name: RFC02656 tests
+
+.*
+
+
+Disassembly of section \.text:
+
+0+0 <_start>:
+.*: (1b 5c 4a 7c|7c 4a 5c 1b) lxvrl vs34,r10,r11
+.*: (5b 64 6a 7c|7c 6a 64 5b) lxvrll vs35,r10,r12
+.*: (9a 6c aa 7c|7c aa 6c 9a) lxvprl vs36,r10,r13
+.*: (da 74 ea 7c|7c ea 74 da) lxvprll vs38,r10,r14
+.*: (1b 7d 0a 7d|7d 0a 7d 1b) stxvrl vs40,r10,r15
+.*: (5b 85 2a 7d|7d 2a 85 5b) stxvrll vs41,r10,r16
+.*: (9a 8d 2a 7d|7d 2a 8d 9a) stxvprl vs40,r10,r17
+.*: (da 95 6a 7d|7d 6a 95 da) stxvprll vs42,r10,r18
+#pass
diff --git a/gas/testsuite/gas/ppc/rfc02656.s b/gas/testsuite/gas/ppc/rfc02656.s
new file mode 100644
index 0000000..55ed2a6
--- /dev/null
+++ b/gas/testsuite/gas/ppc/rfc02656.s
@@ -0,0 +1,10 @@
+ .text
+_start:
+ lxvrl 34,10,11
+ lxvrll 35,10,12
+ lxvprl 36,10,13
+ lxvprll 38,10,14
+ stxvrl 40,10,15
+ stxvrll 41,10,16
+ stxvprl 40,10,17
+ stxvprll 42,10,18