binutils Newspaper
OCTOBER 6, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
s390

s390: Enforce register pair constraints for several instructions

Assembler now enforces register pair and even register constraints for s390 instructions like stpq, clclu, kimd, klmd, kmac, km, kmc, mvcl, kxbr, cmpsc, clcle,…

These commits update the s390 assembler to enforce architectural constraints on register operands for several instructions. Specifically, instructions such as stpq, clclu, kimd, klmd, kmac, km, kmc, mvcl, kxbr, cmpsc, clcle, and clclu now correctly validate that their register operands are either register pairs or even-numbered registers as required by the s390 architecture. This prevents the generation of incorrect machine code and ensures adherence to the hardware’s specifications.

In Details

These patches update the s390 assembler's instruction decoding and validation logic. They enforce architectural constraints on register operands for various instructions, ensuring that paired registers are used where required and that register numbers meet parity requirements. This addresses specification exceptions that could occur if invalid register assignments were allowed by the assembler.

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.
Filed Under: s390assemblerarchitecture