On 2/1/2024 8:28 PM, Li, Pan2 wrote:
Hi Edwin,
Just rerun the newlib and there is no ICE but still 160 dump failures as below.
Pan
Hi Pan,
Thanks for confirming! Having dump failures is expected. There are
around 7 more unique failures than I expected
(https://github.com/patrick-rivos/gcc-postcommit-ci/issues/473 <--
postcommit found 46 while I expected 39
https://inbox.sourceware.org/gcc-patches/12d205cd-3177-48ea-a54e-c2052fdde...@gmail.com/
https://github.com/ewlu/gcc-precommit-ci/issues/1178#issuecomment-1889782987)
I included the 7 failed tests below and what was found instead.
I believe the only problematic failures are the 5 vls calling convention
ones where only 24 ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) are found.
FAIL: gcc.target/riscv/rvv/autovec/vls/calling-convention-1.c -O3
-ftree-vectorize --param riscv-autovec-preference=scalable
scan-assembler-times ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) 35
FAIL: gcc.target/riscv/rvv/autovec/vls/calling-convention-2.c -O3
-ftree-vectorize --param riscv-autovec-preference=scalable
scan-assembler-times ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) 33
FAIL: gcc.target/riscv/rvv/autovec/vls/calling-convention-3.c -O3
-ftree-vectorize --param riscv-autovec-preference=scalable
scan-assembler-times ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) 31
FAIL: gcc.target/riscv/rvv/autovec/vls/calling-convention-4.c -O3
-ftree-vectorize --param riscv-autovec-preference=scalable
scan-assembler-times ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) 29
FAIL: gcc.target/riscv/rvv/autovec/vls/calling-convention-7.c -O3
-ftree-vectorize --param riscv-autovec-preference=scalable
scan-assembler-times ld\\s+a[0-1],\\s*[0-9]+\\(sp\\) 29
This is what I'm getting locally (first instance of wrong match):
v32qi_RET1_ARG8:
.LFB109:
.cfi_startproc
li t1,32
vsetvli zero,t1,e8,mf8,ta,ma
vle8.v v1,0(a1)
vle8.v v4,0(a2)
vle8.v v3,0(a3)
vle8.v v2,0(a4)
vadd.vv v1,v1,v4
vadd.vv v1,v1,v3
vle8.v v3,0(a5)
ld a5,0(sp) <-- used a5 instead of a1
vadd.vv v1,v1,v2
vle8.v v2,0(a6)
vadd.vv v1,v1,v3
vle8.v v3,0(a7)
vadd.vv v1,v1,v2
vle8.v v2,0(a5)
vadd.vv v1,v1,v3
vadd.vv v1,v1,v2
vse8.v v1,0(a0)
ret
.cfi_endproc
If I understand correctly, this is wrong since we aren't returning
anything (nothing gets stored in a[0-1])?
Edwin