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.

Reply via email to