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.