aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp
diff options
context:
space:
mode:
authorShreya Munnangi <smunnangi1@ventanamicro.com>2025-08-31 07:48:21 -0600
committerJeff Law <jlaw@ventanamicro.com>2025-08-31 07:48:21 -0600
commit095700c4cc6dece45f45ae7285b6523170f08953 (patch)
treeb8695eca279701146ee2f6da5f079b9612db0155 /gcc/testsuite/gcc.dg/cpp
parenta4ec06656dcd6c4eb0bc2bbf20a6492860a76fc3 (diff)
downloadgcc-095700c4cc6dece45f45ae7285b6523170f08953.zip
gcc-095700c4cc6dece45f45ae7285b6523170f08953.tar.gz
gcc-095700c4cc6dece45f45ae7285b6523170f08953.tar.bz2
[RISC-V] Improve initial RTL generation for SImode adds on rv64
So this is the next chunk of Shreya's work to adjust our add expanders. In this patch we're adding support for adding a 2*s12 immediate in SI for rv64. To recap, the basic idea is reduce our reliance on the define_insn_and_split that was added a year or so ago by synthesizing the more efficient sequence at expansion time. By handling this early rather than late the synthesized sequence participates in the various optimizer passes in the natural way. In contrast using the define_insn_and_split bypasses the cost modeling in combine and hides the synthesis until after reload as completed (which in turn leads to the problems seen in pr120811). This doesn't solve pr120811, but it is the last prerequisite patch before directly tackling pr120811. This has been bootstrapped & regression tested on the pioneer & bpi and been through the usual testing on riscv32-elf and riscv64-elf. Waiting on pre-commit CI before moving forward. gcc/ * config/riscv/riscv-protos.h (synthesize_add_extended): Prototype. * config/riscv/riscv.cc (synthesize_add_extended): New function. * config/riscv/riscv.md (addsi3): For RV64, try synthesize_add_extended. gcc/testsuite/ * gcc.target/riscv/add-synthesis-2.c: New test.
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp')
0 files changed, 0 insertions, 0 deletions