diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2024-05-09 21:07:06 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2024-05-09 21:07:06 -0600 |
commit | bfb88b1406cdd8d3f97e280b0d63529aa925f18a (patch) | |
tree | e87b120cb851e363f33e3c8f0bc7a70ba5016030 /gcc/tree-vect-loop.cc | |
parent | d7bb8eaade3cd3aa70715c8567b4d7b08098e699 (diff) | |
download | gcc-bfb88b1406cdd8d3f97e280b0d63529aa925f18a.zip gcc-bfb88b1406cdd8d3f97e280b0d63529aa925f18a.tar.gz gcc-bfb88b1406cdd8d3f97e280b0d63529aa925f18a.tar.bz2 |
[committed] [RISC-V] Provide splitting guidance to combine to faciliate shNadd.uw generation
This fixes a minor code quality issue I found while comparing GCC and LLVM.
Essentially we want to do a bit of re-association to generate shNadd.uw
instructions.
Combine does the right thing and finds all the necessary instructions,
reassociates the operands, combines constants, etc. Where is fails is finding
a good split point. The backend can trivially provide guidance on how to split
via a define_split pattern.
This has survived both Ventana's internal CI system (rv64gcb) as well as my own
(rv64gc, rv32gcv).
I'll wait for the external CI system to give the all-clear before pushing.
gcc/
* config/riscv/bitmanip.md: Add splitter for shadd feeding another
add instruction.
gcc/testsuite/
* gcc.target/riscv/zba-shadduw.c: New test.
Diffstat (limited to 'gcc/tree-vect-loop.cc')
0 files changed, 0 insertions, 0 deletions