FRIDAY, OCTOBER 2, 2026
s390
s390: Enforce register pair constraints for cmpsc instruction
Assembler now enforces register pair constraints for s390 cmpsc instruction.
This commit updates the s390 assembler to enforce architectural constraints on the register operands for the cmpsc instruction. It ensures that both R1 and R2 operands designate an even-odd pair of general registers and are even-numbered registers, preventing specification exceptions.
In Details
This patch modifies the s390 assembler's handling of the cmpsc instruction, specifically enforcing that its register operands (R1 and R2) adhere to the architecture's requirements for even-odd register pairs and even register numbers. This aligns the assembler's validation with the z/Architecture Principles of Operation.
For Context
- s390
- A family of mainframe computer architectures developed by IBM.
- assembler
- A program that translates assembly language into machine code.
- register pair
- On some architectures, certain instructions require two adjacent registers to function as a single, wider operand. For example, an even-numbered register and the immediately following odd-numbered register can form a pair.
- specification exception
- An error condition detected by the hardware when an instruction is executed with operands or conditions that violate the architecture's rules.
- cmpsc
- A s390 machine instruction.