diff options
author | yulong <shiyulong@iscas.ac.cn> | 2023-08-08 12:12:32 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-08-08 15:47:03 +0800 |
commit | 25c4b1620ebc10fceabd86a34fdbbaf8037e7e82 (patch) | |
tree | 237d1980f91c683d5f97b86a9896467eeb2004e9 /gcc/tree-vectorizer.h | |
parent | f3a8dde08b420dbe9cacbc1a1febaaf77357f4d4 (diff) | |
download | gcc-25c4b1620ebc10fceabd86a34fdbbaf8037e7e82.zip gcc-25c4b1620ebc10fceabd86a34fdbbaf8037e7e82.tar.gz gcc-25c4b1620ebc10fceabd86a34fdbbaf8037e7e82.tar.bz2 |
RISC-V: Fix a bug that causes an error insn.
I test the following rvv intrinsics.
vint64m1_t test_vslide1up_vx_i64m1_m(vbool64_t mask, vint64m1_t src, int64_t value, size_t vl) {
return __riscv_vslide1up_vx_i64m1_m(mask, src, value, vl);
}
And I got an error info,t hat is error:
unrecognizable insn:(insn 17 16 18 2
(set (reg:RVVMIDI 134 [ _1 ])(if_then_else:RVVMIDI
(unspec:RVVMF64BI [(reg/v:SI 142 [ vl ])(const_int 2 [x2])(const_int 日 [o])(reg:SI 66 vl)(reg:SI 67 vtype)] UNSPEC_VPREDICATE
(vec_merge:RVVMIDI (reg:RVVMIDI 134 [ _1 ])(unspec:RVVMIDI [(reg:sI 日 zero)] UNSPEC_VUNDEF)
(reg/v:RVVMF64BI 137 [ mask ]))
(unspec:RVVM1DI[(reg:sI 日 zero)] UNSPEC_VUNDEF)))
This patch fix it.
gcc/ChangeLog:
* config/riscv/riscv-v.cc (slide1_sew64_helper): Modify.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vslide1down-1.c: New test.
* gcc.target/riscv/rvv/base/vslide1down-2.c: New test.
* gcc.target/riscv/rvv/base/vslide1down-3.c: New test.
* gcc.target/riscv/rvv/base/vslide1up-1.c: New test.
* gcc.target/riscv/rvv/base/vslide1up-2.c: New test.
* gcc.target/riscv/rvv/base/vslide1up-3.c: New test.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions