[2/2] s390: Add arch15 Concurrent-Functions Facility insns

Message ID 20241113120319.628518-3-jremus@linux.ibm.com
State New
Headers
Series s390: Add arch15 instructions and names |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed

Commit Message

Jens Remus Nov. 13, 2024, 12:03 p.m. UTC
  opcodes/
	* s390-opc.txt: Add arch15 Concurrent-Functions Facility
	instructions.

gas/testsuite/
	* gas/s390/zarch-arch15.d: Tests for arch15 Concurrent-Functions
	Facility instructions.
	* gas/s390/zarch-arch15.s: Likewise.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
 gas/testsuite/gas/s390/zarch-arch15.d | 4 ++++
 gas/testsuite/gas/s390/zarch-arch15.s | 4 ++++
 opcodes/s390-opc.txt                  | 8 ++++++++
 3 files changed, 16 insertions(+)
  

Patch

diff --git a/gas/testsuite/gas/s390/zarch-arch15.d b/gas/testsuite/gas/s390/zarch-arch15.d
index 955c9706b35d..832cea2a7ec4 100644
--- a/gas/testsuite/gas/s390/zarch-arch15.d
+++ b/gas/testsuite/gas/s390/zarch-arch15.d
@@ -100,3 +100,7 @@  Disassembly of section .text:
 .*:	e6 0f 00 00 00 5f [	 ]*vtp	%v15
 .*:	e6 0f 0f ff d0 5f [	 ]*vtp	%v15,65533
 .*:	e6 0f 1f ff d2 7f [	 ]*vtz	%v15,%v17,65533
+.*:	c8 36 10 0a 20 14 [	 ]*cal	10\(%r1\),20\(%r2\),%r3
+.*:	c8 37 10 0a 20 14 [	 ]*calg	10\(%r1\),20\(%r2\),%r3
+.*:	c8 3f 10 0a 20 14 [	 ]*calgf	10\(%r1\),20\(%r2\),%r3
+.*:	eb 12 38 f0 fd 16 [	 ]*pfcr	%r1,%r2,-10000\(%r3\)
diff --git a/gas/testsuite/gas/s390/zarch-arch15.s b/gas/testsuite/gas/s390/zarch-arch15.s
index 43be9d46a485..a688ecb2decd 100644
--- a/gas/testsuite/gas/s390/zarch-arch15.s
+++ b/gas/testsuite/gas/s390/zarch-arch15.s
@@ -94,3 +94,7 @@  foo:
 	vtp	%v15
 	vtp	%v15,65533
 	vtz	%v15,%v17,65533
+	cal	10(%r1),20(%r2),%r3
+	calg	10(%r1),20(%r2),%r3
+	calgf	10(%r1),20(%r2),%r3
+	pfcr	%r1,%r2,-10000(%r3)
diff --git a/opcodes/s390-opc.txt b/opcodes/s390-opc.txt
index 82d6f06a9923..d9f071f41d1e 100644
--- a/opcodes/s390-opc.txt
+++ b/opcodes/s390-opc.txt
@@ -2190,3 +2190,11 @@  e6000000004a vcvdq VRI_VV0UU "vector convert to decimal 128 bit" arch15 zarch
 
 e6000000005f vtp VRR_0V0U "vector test decimal" arch15 zarch optparm
 e6000000007f vtz VRR_0VVU "vector test zoned" arch15 zarch
+
+# Concurrent-Functions Facility
+
+c806 cal SSF_RRDRD "compare and load 32" arch15 zarch
+c807 calg SSF_RRDRD "compare and load 64" arch15 zarch
+c80f calgf SSF_RRDRD "compare and load 64<32" arch15 zarch
+
+eb0000000016 pfcr RSY_RRRD "perform functions with concurrent results" arch15 zarch