[COMMITTED] PowerPC: Add support for RFC02677 - VSX Vector Rotate Left Word

Message ID ef36c435-90d4-48f1-9995-e5ba770a7a38@linux.ibm.com
State New
Headers
Series [COMMITTED] PowerPC: Add support for RFC02677 - VSX Vector Rotate Left Word |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-arm fail Patch failed to apply
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 fail Patch failed to apply

Commit Message

Peter Bergner Nov. 20, 2024, 11:42 p.m. UTC
  The following patch adds support for RFC02677 to the PowerPC port.
The instruction added may or may not be implemented by some future
Power processor.  Pushed.

Peter



PowerPC: Add support for RFC02677 - VSX Vector Rotate Left Word

opcodes/
	* ppc-opc.c (powerpc_opcodes): Add xvrlw.

gas/
	* testsuite/gas/ppc/future.s: Add test for xvrlw.
	* testsuite/gas/ppc/future.d: Likewise.
---
 opcodes/ppc-opc.c              | 1 +
 gas/testsuite/gas/ppc/future.s | 1 +
 gas/testsuite/gas/ppc/future.d | 1 +
 3 files changed, 3 insertions(+)
  

Patch

diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index e55bfe846cd..705b5d78d84 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -9372,6 +9372,7 @@  const struct powerpc_opcode powerpc_opcodes[] = {
 {"xscvuxddp",	XX2(60,360),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
 {"xsnabsdp",	XX2(60,361),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
 {"xststdcdp",	XX2(60,362),	XX2BFD_MASK, PPCVSX3,	PPCVLE,		{BF, XB6, DCMX}},
+{"xvrlw",	XX3(60,184),	XX3_MASK,    PPCVSXF,	PPCVLE,		{XT6, XA6, XB6}},
 {"xsnmsubmdp",	XX3(60,185),	XX3_MASK,    PPCVSX,	PPCVLE,		{XT6, XA6, XB6}},
 {"xxleqv",	XX3(60,186),	XX3_MASK,    PPCVSX2,	PPCVLE,		{XT6, XA6, XB6}},
 {"xscvsxddp",	XX2(60,376),	XX2_MASK,    PPCVSX,	PPCVLE,		{XT6, XB6}},
diff --git a/gas/testsuite/gas/ppc/future.s b/gas/testsuite/gas/ppc/future.s
index fe2cc450819..4e782e8764d 100644
--- a/gas/testsuite/gas/ppc/future.s
+++ b/gas/testsuite/gas/ppc/future.s
@@ -16,3 +16,4 @@  _start:
 	stxvrll	 41,10,16
 	stxvprl	 40,10,17
 	stxvprll 42,10,18
+	xvrlw	 31,41,51
diff --git a/gas/testsuite/gas/ppc/future.d b/gas/testsuite/gas/ppc/future.d
index 83011321143..c0d9080c04f 100644
--- a/gas/testsuite/gas/ppc/future.d
+++ b/gas/testsuite/gas/ppc/future.d
@@ -24,4 +24,5 @@  Disassembly of section \.text:
 .*:	(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
+.*:	(c6 9d e9 f3|f3 e9 9d c6) 	xvrlw   vs31,vs41,vs51
 #pass