diff options
author | Pan Li <pan2.li@intel.com> | 2023-12-18 08:18:30 +0800 |
---|---|---|
committer | Pan Li <pan2.li@intel.com> | 2023-12-18 08:31:06 +0800 |
commit | 2c3e4d18b2f75cce287c8566c4231c677a243161 (patch) | |
tree | f279383ce8e1e753ac8338cfc8a50c42fe9d595a /libphobos/libdruntime/gcc | |
parent | 5440b59e93dcb7e8bdd767f48453a8f229d73a0a (diff) | |
download | gcc-2c3e4d18b2f75cce287c8566c4231c677a243161.zip gcc-2c3e4d18b2f75cce287c8566c4231c677a243161.tar.gz gcc-2c3e4d18b2f75cce287c8566c4231c677a243161.tar.bz2 |
RISC-V: Fix POLY INT handle bug
This patch fixes the following FAIL:
Running target
riscv-sim/-march=rv64gcv/-mabi=lp64d/-mcmodel=medlow/--param=riscv-autovec-lmul=m8
FAIL: gcc.dg/vect/fast-math-vect-complex-3.c execution test
The root cause is we generate incorrect codegen for (const_poly_int:DI
[549755813888, 549755813888])
Before this patch:
li a7,0
vmv.v.x v0,a7
After this patch:
csrr a2,vlenb
slli a2,a2,33
vmv.v.x v0,a2
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_expand_mult_with_const_int):
Change int into HOST_WIDE_INT.
(riscv_legitimize_poly_move): Ditto.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/bug-3.c: New test.
Signed-off-by: Pan Li <pan2.li@intel.com>
Diffstat (limited to 'libphobos/libdruntime/gcc')
0 files changed, 0 insertions, 0 deletions