aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.cc
diff options
context:
space:
mode:
authorJeff Law <jlaw@ventanamicro.com>2024-11-21 08:24:10 -0700
committerJeff Law <jlaw@ventanamicro.com>2024-11-21 08:24:10 -0700
commit41fb3a5669d3a8c85f9103798f4e7502190cf969 (patch)
treed46ee9d200990c06ef2cdd44b92407e7ebd0bc2a /gcc/function.cc
parentfbca864a7bfff9f848733f676c3c9df133fba4b0 (diff)
downloadgcc-41fb3a5669d3a8c85f9103798f4e7502190cf969.zip
gcc-41fb3a5669d3a8c85f9103798f4e7502190cf969.tar.gz
gcc-41fb3a5669d3a8c85f9103798f4e7502190cf969.tar.bz2
[RISC-V][PR target/116590] Avoid emitting multiple instructions from fmacc patterns
So much like my patch from last week, this removes alternatives that create multiple instructions that we really should have never needed. In this case it fixes one of two bugs in pr116590. In particular we don't want vmvNr instructions for thead-vector. Those instructions were emitted as part of those two instruction sequences. I've tested this in my tester and assuming the pre-commit tester is happy, I'll push it to the trunk. PR target/116590 gcc * config/riscv/vector.md (pred_mul_<optab>mode_undef): Drop unnecessary alternatives. (pred_<madd_msub><mode>): Likewise. (pred_<macc_msac><mode>): Likewise. (pred_<madd_msub><mode>_scalar): Likewise. (pred_<macc_msac><mode>_scalar): Likewise. (pred_mul_neg_<optab><mode>_undef): Likewise. (pred_<nmsub_nmadd><mode>): Likewise. (pred_<nmsac_nmacc><mode>): Likewise. (pred_<nmsub_nmadd><mode>_scalar): Likewise. (pred_<nmsac_nmacc><mode>_scalar): Likewise. gcc/testsuite * gcc.target/riscv/pr116590.c: New test.
Diffstat (limited to 'gcc/function.cc')
0 files changed, 0 insertions, 0 deletions