https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120888
Bug ID: 120888 Summary: promotion of unsigned char and short function arguments sign extends them since gcc-16-170-ga670ebde3995 Product: gcc Version: 16.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jcmvbkbc at gcc dot gnu.org Target Milestone: --- Created attachment 61763 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61763&action=edit gcc/testsuite/gcc.target/xtensa/abi_u8_arg.c xtensa ABI prescribes sign extension of signed 8- and 16-bit function arguments to 32 bits and zero extension of unsigned 8- and 16-bit function arguments. Attached test starts failing at revision gcc-16-170-ga670ebde3995. While debugging it I've noticed that precompute_register_parameters() gets the `args` argument where `unsignedp` is 0 and thus generates sign extension call for that argument.