GCC Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
s390

s390: Fixes mnemonic annotation for extzv instructions

The s390 backend now correctly annotates mnemonics for specific bit-shift and clear-carry instructions.

This commit corrects the assembly mnemonic annotation for several s390 extended vector instructions, specifically those related to right or left shifts with or without carry flag updates. This fix is necessary because the output template for these instructions changed to a statement, requiring explicit mnemonic annotation.

In Details

The config/s390/s390.md file is updated to annotate the mnemonics for a set of extzv_<mode>_{srl,sll}<clobbercc_or_nocc> instructions. This change is a consequence of a previous modification (r17-2057) that changed the output template for these instructions to a statement, necessitating the explicit inclusion of the mnemonic within the template. This ensures the assembler correctly interprets the instruction itself, distinct from its operands.

For Context
s390
Refers to the IBM System/390 architecture and its successors (z/Architecture), for which GCC provides a specific target backend.
mnemonic
An abbreviation or symbol used in assembly language to represent a machine instruction (e.g., 'MOV' for move, 'ADD' for addition). The assembler translates these mnemonics into machine code.
extzv_<mode>_{srl,sll}<clobbercc_or_nocc>
A naming convention for s390 instructions, likely referring to extended vector instructions (extzv) for a specific mode, performing signed right logical (srl) or signed left logical (sll) shift, with or without affecting the condition code (clobbercc_or_nocc).
Output template
In GCC's machine description files, an output template defines how a given instruction pattern should be translated into assembly code or machine code. It specifies the format and any necessary annotations.
Filed Under: s390assemblyinstruction selection