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.
- 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.