]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Fix Demand comparison bug[VSETVL PASS]
authorJuzhe-Zhong <juzhe.zhong@rivai.ai>
Wed, 20 Sep 2023 08:07:49 +0000 (16:07 +0800)
committerLehua Ding <lehua.ding@rivai.ai>
Wed, 20 Sep 2023 10:36:15 +0000 (18:36 +0800)
commitc3d2b6bc913803d3eccacb9e354f37eef1cee212
tree9b56dfe51f8abc496de529231cd406aae083e264
parent2e36eedb244badaaf2a70388071115c851b8db9b
RISC-V: Fix Demand comparison bug[VSETVL PASS]

This bug is exposed when we support VLS integer conversion patterns.

FAIL: c-c++-common/torture/pr53505.c execution.

This is because incorrect vsetvl elimination by Phase 4:

   10318:       0d207057                vsetvli zero,zero,e32,m4,ta,ma
   1031c:       5e003e57                vmv.v.i v28,0
   .....:       ........                missed e8,m1 vsetvl
   10320:       7b07b057                vmsgtu.vi       v0,v16,15
   10324:       03083157                vadd.vi v2,v16,-16

Regression on release version GCC no surprise difference.

Committed.

gcc/ChangeLog:

* config/riscv/riscv-vsetvl.cc (vector_insn_info::operator==): Fix bug.
gcc/config/riscv/riscv-vsetvl.cc