]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
s390: Add store CPU counter multiple instruction
authorJens Remus <jremus@linux.ibm.com>
Mon, 6 Jul 2026 14:11:50 +0000 (16:11 +0200)
committerJens Remus <jremus@linux.ibm.com>
Mon, 6 Jul 2026 14:11:50 +0000 (16:11 +0200)
IBM z13 introduced the "store CPU counter multiple" (stcctm) instruction
with the Store-CPU-Counter-Multiple Facility, which is part of the
CPU-Measurement Facilities (CPUMF) [1].

While at it add a comment to the s390 opcode table for the existing
CPUMF instructions.

[1]: The Load-Program-Parameter and the CPU-Measurement Facilities,
     SA23-2260-08,
     https://www.ibm.com/docs/en/module_1678991624569/pdf/SA23-2260-08.pdf

opcodes/
* s390-opc.txt (stcctm): Add store CPU counter multiple
instruction.  Add comment on CPUMF instructions.

gas/testsuite/
* gas/s390/zarch-z13.d (stcctm): Add test for store CPU counter
multiple instruction.
* gas/s390/zarch-z13.s (stcctm): Likewise.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
gas/testsuite/gas/s390/zarch-z13.d
gas/testsuite/gas/s390/zarch-z13.s
opcodes/s390-opc.txt

index d768e0b9db5925c6d61838ec2204d1acd812905a..54c42f858f94172fc523b43bc28402a917deea4f 100644 (file)
@@ -684,3 +684,5 @@ Disassembly of section .text:
 .*:    e7 f6 9f a0 d0 0e [     ]*vst   %v15,4000\(%r6,%r9\),13
 .*:    e7 f1 6f a0 04 3e [     ]*vstm  %v15,%v17,4000\(%r6\)
 .*:    e7 f1 6f a0 d4 3e [     ]*vstm  %v15,%v17,4000\(%r6\),13
+.*:    eb 13 26 ce 05 17 [      ]*stcctm       %r1,3,22222\(%r2\)
+#?.*:  07 07 [  ]*nopr %r7
index 8c2fb706e0c0d3c15afb7906c92b65a186f755f3..370aed0830aa69858eaa5948e2a0de8912bd7f95 100644 (file)
@@ -678,3 +678,4 @@ foo:
        vst             %v15,4000(%r6,%r9),13
        vstm            %v15,%v17,4000(%r6)
        vstm            %v15,%v17,4000(%r6),13
+       stcctm  %r1,3,22222(2)
index 6511059400b8ca6424828b1f1b915b6fde3054aa..d40fa8c70cf4f013e96ee4acefbacda89f53a634 100644 (file)
@@ -991,6 +991,10 @@ b9a2 ptf RRE_R0 "perform topology function" z10 zarch
 b9af pfmf RRE_RR "perform frame management function" z10 zarch
 b9bf trte RRF_U0RER "translate and test extended" z10 zarch optparm
 b9bd trtre RRF_U0RER "translate and test reverse extended" z10 zarch optparm
+
+# CPUMF: CPU-Measurement Counter Facility, CPU-Measurement Sampling Facility,
+# Load-Program-Parameter Facility
+
 b2ed ecpga RRE_RR "extract coprocessor-group address" z10 zarch
 b2e4 ecctr RRE_RR "extract cpu counter" z10 zarch
 b2e5 epctr RRE_RR "extract peripheral counter" z10 zarch
@@ -1713,6 +1717,10 @@ e70000000036 vlm VRS_VVRDU "vector load multiple" z13 zarch optparm,vx
 e7000000000e vst VRX_VRRDU "vector store" z13 zarch optparm,vx
 e7000000003e vstm VRS_VVRDU "vector store multiple" z13 zarch optparm,vx
 
+# CPUMF: Store-CPU-Counter-Multiple Facility
+
+eb0000000017 stcctm RSY_RURD "store cpu counter multiple" z13 zarch
+
 # arch12 instructions
 
 # Vector Enhancements Facility 1