aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/rust/compile/macros/proc
diff options
context:
space:
mode:
authorDimitar Dimitrov <dimitar@dinux.eu>2025-07-18 23:45:50 +0300
committerDimitar Dimitrov <dimitar@dinux.eu>2025-07-19 18:11:41 +0300
commite42799be2bb2966487c27897294426a03a99f56d (patch)
treea09de33db1af03b4789974c874471fb92e8ca5fd /gcc/testsuite/rust/compile/macros/proc
parenta0e28fd03f65bb4c76f8eb5ce1e5d56b76897199 (diff)
downloadgcc-master.zip
gcc-master.tar.gz
gcc-master.tar.bz2
pru: Use signed HOST_WIDE_INT for handling ctable addressesHEADtrunkmaster
The ctable base address for SBCO/LBCO load/store patterns was incorrectly stored as unsigned integer. That prevented matching addresses with bit 31 set, because const_int RTL expression is expected to be sign-extended. Fix by using sign-extended 32-bit values for ctable base addresses. PR target/121124 gcc/ChangeLog: * config/pru/pru-pragma.cc (pru_pragma_ctable_entry): Handle the ctable base address as signed 32-bit value, and sign-extend to HOST_WIDE_INT. * config/pru/pru-protos.h (struct pru_ctable_entry): Store the ctable base address as signed. (pru_get_ctable_exact_base_index): Pass base address as signed. (pru_get_ctable_base_index): Ditto. (pru_get_ctable_base_offset): Ditto. * config/pru/pru.cc (pru_get_ctable_exact_base_index): Ditto. (pru_get_ctable_base_index): Ditto. (pru_get_ctable_base_offset): Ditto. (pru_print_operand_address): Ditto. gcc/testsuite/ChangeLog: * gcc.target/pru/pragma-ctable_entry-2.c: New test.
Diffstat (limited to 'gcc/testsuite/rust/compile/macros/proc')
0 files changed, 0 insertions, 0 deletions