]> gcc.gnu.org Git - 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)
committerJeff Law <jlaw@ventanamicro.com>
Tue, 26 Sep 2023 14:55:44 +0000 (08:55 -0600)
commit7f6b605199cdfdfdd79588147f2fdd10f61c632a
tree0c54175653e3a55b2992ccc5aefa473ed8bd9625
parent22ab5d21284a12116746f278001ea41467b1cc28
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.

(cherry picked from commit c3d2b6bc913803d3eccacb9e354f37eef1cee212)
gcc/config/riscv/riscv-vsetvl.cc
This page took 0.055191 seconds and 6 git commands to generate.