https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109458
Bug ID: 109458 Summary: invalid use 'z' operand modifier in some cases mention the 'Z' operand modifier Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Target: x86_64-*-* The problem here is the code in i386 does this: case 'z': ... if (GET_MODE_CLASS (GET_MODE (x)) == MODE_FLOAT) warning (0, "non-integer operand used with operand code %<z%>"); /* FALLTHRU */ case 'Z': ... else { output_operand_lossage ("invalid operand type used with " "operand code 'Z'"); return; } output_operand_lossage ("invalid operand size for operand code 'Z'"); So the error messages for 'Z' modifier is shared with 'z' but only references 'Z'.