diff options
author | Li Xu <xuli1@eswincomputing.com> | 2023-06-25 09:09:32 +0000 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-06-25 21:53:03 +0800 |
commit | b23ec2de3b992784c3e376da8f51f962daca4d86 (patch) | |
tree | 198665ffd09b851b9698fba4d7ace5bf9ca3f50e /ltgcc.m4 | |
parent | d42d199e9ea72fb220ea00195dffb5c142226188 (diff) | |
download | gcc-b23ec2de3b992784c3e376da8f51f962daca4d86.zip gcc-b23ec2de3b992784c3e376da8f51f962daca4d86.tar.gz gcc-b23ec2de3b992784c3e376da8f51f962daca4d86.tar.bz2 |
RISC-V: fix expand function of vlmul_ext RVV intrinsic
Consider this following case:
void test_vlmul_ext_v_i8mf8_i8mf4(vint8mf8_t op1) {
vint8mf4_t res = __riscv_vlmul_ext_v_i8mf8_i8mf4(op1);
}
Compilation fails with:
test.c: In function 'test_vlmul_ext_v_i8mf8_i8mf4':
test.c:5:1: error: unrecognizable insn:
5 | }
| ^
(insn 30 29 0 2 (set (mem/c:VNx2QI (reg/f:DI 143) [0 x+0 S[2, 2] A32])
(mem/c:VNx2QI (reg/f:DI 148) [0 op1+0 S[2, 2] A16])) "test.c":4:18 -1
(nil))
during RTL pass: vregs
test.c:5:1: internal compiler error: in extract_insn, at recog.cc:2791
0x7c61b8 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*)
../.././riscv-gcc/gcc/rtl-error.cc:108
0x7c61d7 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
../.././riscv-gcc/gcc/rtl-error.cc:116
0xed58a7 extract_insn(rtx_insn*)
../.././riscv-gcc/gcc/recog.cc:2791
0xb7f789 instantiate_virtual_regs_in_insn
../.././riscv-gcc/gcc/function.cc:1611
0xb7f789 instantiate_virtual_regs
../.././riscv-gcc/gcc/function.cc:1984
gcc/ChangeLog:
* config/riscv/riscv-vector-builtins-bases.cc: change emit_insn to
emit_move_insn
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/base/vlmul_ext-2.c: New test.
Diffstat (limited to 'ltgcc.m4')
0 files changed, 0 insertions, 0 deletions