public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b
@ 2023-11-17 21:18 patrick at rivosinc dot com
2023-11-17 21:21 ` [Bug target/112598] " patrick at rivosinc dot com
` (19 more replies)
0 siblings, 20 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-11-17 21:18 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Bug ID: 112598
Summary: RISC-V regression testsuite errors with
rv64gcv_zvl512b
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: patrick at rivosinc dot com
Target Milestone: ---
Created attachment 56625
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56625&action=edit
rv64gcv_zvl512b testsuite failures 2023-11-17
Current testsuite status of rv64gcv_zvl512b on GCC
5cb13173e85537a8a423b7b22b60ca3b6505f91e
I've started running zvl variants 128-1024b weekly on the postcommit CI. This
is my first time running these so if any of the failures look odd poke me here
or via email and I can dig into/share the logs.
Artifacts for this run can be downloaded here:
https://github.com/patrick-rivos/gcc-postcommit-ci/actions/runs/6898356494
Likely artifacts of interest:
gcc-linux-rv64gcv_zvl-lp64d-5cb13173e85537a8a423b7b22b60ca3b6505f91e-multilib-debug-output.log
gcc-linux-rv64gcv_zvl-lp64d-5cb13173e85537a8a423b7b22b60ca3b6505f91e-multilib-report.log
gcc-linux-rv64gcv_zvl-lp64d-5cb13173e85537a8a423b7b22b60ca3b6505f91e-multilib-sum-files
This is just a tracking issue, similar to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111311
I've attached the current results for rv64gcv_zvl512b with glibc v2.37 on QEMU
v8.1.2
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
@ 2023-11-17 21:21 ` patrick at rivosinc dot com
2023-11-21 2:43 ` juzhe.zhong at rivai dot ai
` (18 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-11-17 21:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #1 from Patrick O'Neill <patrick at rivosinc dot com> ---
Related issues:
128: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112583
256: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112597
512: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
1024: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112599
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
2023-11-17 21:21 ` [Bug target/112598] " patrick at rivosinc dot com
@ 2023-11-21 2:43 ` juzhe.zhong at rivai dot ai
2023-11-21 13:38 ` cvs-commit at gcc dot gnu.org
` (17 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: juzhe.zhong at rivai dot ai @ 2023-11-21 2:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #2 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
Since zvl128b and zvl256b bug fix are done.
So I am gonna work on zvl512b now.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
2023-11-17 21:21 ` [Bug target/112598] " patrick at rivosinc dot com
2023-11-21 2:43 ` juzhe.zhong at rivai dot ai
@ 2023-11-21 13:38 ` cvs-commit at gcc dot gnu.org
2023-11-21 17:43 ` patrick at rivosinc dot com
` (16 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-21 13:38 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pan Li <panli@gcc.gnu.org>:
https://gcc.gnu.org/g:8faae311a60a552ed3d506de28c50c77fa49b229
commit r14-5677-g8faae311a60a552ed3d506de28c50c77fa49b229
Author: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Date: Tue Nov 21 18:02:09 2023 +0800
RISC-V: Disallow COSNT_VECTOR for DI on RV32
This bug is exposed when testing on zvl512b RV32 system.
The rootcause is RA reload DI CONST_VECTOR into vmv.v.x then it ICE.
So disallow DI CONST_VECTOR on RV32.
PR target/112598
gcc/ChangeLog:
* config/riscv/riscv.cc (riscv_const_insns): Disallow DI
CONST_VECTOR on RV32.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr112598-1.c: New test.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (2 preceding siblings ...)
2023-11-21 13:38 ` cvs-commit at gcc dot gnu.org
@ 2023-11-21 17:43 ` patrick at rivosinc dot com
2023-11-22 6:45 ` cvs-commit at gcc dot gnu.org
` (15 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-11-21 17:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Patrick O'Neill <patrick at rivosinc dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #56625|0 |1
is obsolete| |
--- Comment #4 from Patrick O'Neill <patrick at rivosinc dot com> ---
Created attachment 56661
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56661&action=edit
rv64gcv_zvl512b testsuite failures 2023-11-21
This report does not include the fix by Juzhe.
Tested with hash 30d8188e6d1b450533ab0055b951ebfc75022219
Comparison with zvl128b (pr112583):
Resolved failures (present on zvl128b but not zvl512b):
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++14 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++17 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++20 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++98 scan-tree-dump optimized
"return 15;"
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
FAIL: gcc.target/riscv/rvv/autovec/gather-scatter/gather_load_run-12.c
execution test
XPASS: gcc.dg/tree-ssa/pr84512.c scan-tree-dump optimized "return 285;"
New failures (present on zvl512b but not zvl128b):
FAIL: gfortran.dg/class_67.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -g execution test
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -g execution test
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler
error: in partial_subreg_p, at rtl.h:3187)
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
errors)
FAIL: gcc.dg/no-strict-overflow-6.c scan-tree-dump optimized "return 0"
FAIL: gcc.dg/pr30957-1.c execution test
FAIL: gcc.dg/pr30957-1.c scan-rtl-dump loop2_unroll "Expanding Accumulator"
FAIL: gcc.dg/torture/pr58955-2.c -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "p_[0-9]* <" 1
FAIL: gcc.dg/tree-ssa/scev-12.c scan-tree-dump-times ivopts "
Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/vect/slp-reduc-sad-2.c scan-tree-dump-not vect "access with gaps
requires scalar epilogue loop"
FAIL: gcc.dg/vect/trapv-vect-reduc-4.c scan-tree-dump-times vect "using an
in-order \\(fold-left\\) reduction" 1
XPASS: gcc.dg/vect/vect-live-slp-3.c -flto -ffat-lto-objects
scan-tree-dump-times vect "vectorizing stmts using SLP" 4
XPASS: gcc.dg/vect/vect-live-slp-3.c scan-tree-dump-times vect "vectorizing
stmts using SLP" 4
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects scan-tree-dump vect "using
gather/scatter for strided/grouped access"
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects execution test
FAIL: gcc.dg/vect/pr65518.c scan-tree-dump vect "using gather/scatter for
strided/grouped access"
XPASS: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects scan-tree-dump-times
vect "vectorizing stmts using SLP" 1
XPASS: gcc.dg/vect/slp-reduc-7.c scan-tree-dump-times vect "vectorizing stmts
using SLP" 1
FAIL: gcc.dg/vect/slp-reduc-sad-2.c -flto -ffat-lto-objects scan-tree-dump-not
vect "access with gaps requires scalar epilogue loop"
FAIL: gcc.dg/tree-ssa/pr32044.c scan-tree-dump-times optimized " / " 0
This is outdated since it does not include Juzhe's fix but I'll give a similar
report next week when I update it again.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (3 preceding siblings ...)
2023-11-21 17:43 ` patrick at rivosinc dot com
@ 2023-11-22 6:45 ` cvs-commit at gcc dot gnu.org
2023-11-22 11:09 ` juzhe.zhong at rivai dot ai
` (14 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-22 6:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Lehua Ding <lhtin@gcc.gnu.org>:
https://gcc.gnu.org/g:d13e59b86c5cbeec6135ada3f6dc983289cac610
commit r14-5748-gd13e59b86c5cbeec6135ada3f6dc983289cac610
Author: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Date: Wed Nov 22 11:27:52 2023 +0800
RISC-V: Fix permutation indice mode bug
This patch fixes following FAILs on zvl512b:
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
The root cause is that we are using vrgather.vv on vector QI mode which
is incorrect for zvl512b since it exceed 256.
Instead, we should use vrgatherei16.vv
PR target/112598
gcc/ChangeLog:
* config/riscv/riscv-v.cc (emit_vlmax_gather_insn): Adapt the
priority.
(shuffle_generic_patterns): Fix permutation indice bug.
* config/riscv/vector-iterators.md: Fix VEI16 bug.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr112598-2.c: New test.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (4 preceding siblings ...)
2023-11-22 6:45 ` cvs-commit at gcc dot gnu.org
@ 2023-11-22 11:09 ` juzhe.zhong at rivai dot ai
2023-11-22 12:31 ` cvs-commit at gcc dot gnu.org
` (13 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: juzhe.zhong at rivai dot ai @ 2023-11-22 11:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #6 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
Hi, there are these following run FAILs left on RV32/RV64 C/C++:
after this patch fix:
https://gcc.gnu.org/pipermail/gcc-patches/2023-November/637753.html
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects execution test
This case I don't have a quick solution, so file a PR here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112670
This FAIL may need Robin's help.
Another FAIL is
FAIL: gcc.dg/torture/pr58955-2.c -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
Li Pan from intel will handle this FAIL.
So I am gonna move on zvl1024b.
Btw, could you run zvl2048b, zvl4096b (We can only allow VLEN at most 4096bit
for now) ? I didn't see a PR for these 2.
Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (5 preceding siblings ...)
2023-11-22 11:09 ` juzhe.zhong at rivai dot ai
@ 2023-11-22 12:31 ` cvs-commit at gcc dot gnu.org
2023-11-23 6:02 ` pan2.li at intel dot com
` (12 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-11-22 12:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Pan Li <panli@gcc.gnu.org>:
https://gcc.gnu.org/g:de6f3e12bd188fee30bc79a5e323e16e0dbbe8ca
commit r14-5755-gde6f3e12bd188fee30bc79a5e323e16e0dbbe8ca
Author: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Date: Wed Nov 22 18:53:22 2023 +0800
RISC-V: Fix incorrect use of vcompress in permutation auto-vectorization
This patch fixes following FAILs on zvl512b of RV32 system:
FAIL: gcc.target/riscv/rvv/autovec/struct/struct_vect_run-12.c execution
test
FAIL: gcc.target/riscv/rvv/autovec/struct/struct_vect_run-9.c execution
test
The root cause is that for permutation indice = {0,3,7,0} use vcompress
optimization
which is incorrect. Fix vcompress optimization bug.
PR target/112598
gcc/ChangeLog:
* config/riscv/riscv-v.cc (shuffle_compress_patterns): Fix
vcompress bug.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/rvv/autovec/pr112598-3.c: New test.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (6 preceding siblings ...)
2023-11-22 12:31 ` cvs-commit at gcc dot gnu.org
@ 2023-11-23 6:02 ` pan2.li at intel dot com
2023-11-24 2:37 ` pan2.li at intel dot com
` (11 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-23 6:02 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #8 from Li Pan <pan2.li at intel dot com> ---
For gcc.dg/torture/pr58955-2.c, we can simply reproduce it by options
Pass when: -O3
Pass when: -O3 -ftracer -fno-schedule-insns -fno-schedule-insns2
Fail when: -O3 -ftracer -fno-schedule-insns2
10154: 4409 li s0,2
10156: 9c1d subw s0,s0,a5
10158: 1402 sll s0,s0,0x20
1015a: 9001 srl s0,s0,0x20
1015c: 97ca add a5,a5,s2
1015e: 078a sll a5,a5,0x2
10160: 7b018493 add s1,gp,1968 # 13400 <b>
10164: 97a6 add a5,a5,s1
10166: 00241613 sll a2,s0,0x2
1016a: 853e mv a0,a5
1016c: 4581 li a1,0
1016e: 158000ef jal 102c6 <memset>
10172: ffc50793 add a5,a0,-4
10176: 4689 li a3,2
10178: 0d047057 vsetvli zero,s0,e32,m1,ta,ma
1017c: 40d8 lw a4,4(s1) <== Load
1017e: 5e00b0d7 vmv.v.i v1,1
10182: 74d1a423 sw a3,1864(gp) # 13398 <a>
10186: 0207e0a7 vse32.v v1,(a5) <== Store
1018a: 03271163 bne a4,s2,101ac <main+0x6e>
Looks like the tracer and the sch1 resulted in the failure, it is a typical
Load Before Store issue AFAIK. The lw load should be after the vse32 store in
semantics but the sch1 moves it before the store and of course, the value of a4
is unexpected here.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (7 preceding siblings ...)
2023-11-23 6:02 ` pan2.li at intel dot com
@ 2023-11-24 2:37 ` pan2.li at intel dot com
2023-11-27 3:07 ` pan2.li at intel dot com
` (10 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-24 2:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #9 from Li Pan <pan2.li at intel dot com> ---
Before tracer
-------------------------------------------------------------
ENTRY
|
+-------+
| B2 |
+-------+
/ \
a < 2 a >= 2
/ \
+-----------+ +-----------+
| vec store |----->| _3 = b[1] |
+-----------+ +-----------+
/ \
_3 != 1 _3 == 1
/ \
+--------+ +----------+
| abort | | return 0 |
+--------+ +----------+
After tracer
-------------------------------------------------------------
ENTRY
|
+-------+
| B2 |
+-------+
/ \
a < 2 a >= 2
/ \
+-------------+ +-----------+
| vec store | | _3 = b[1] |
| | +-----------+
after tracer| | / \
| | _3 != 1 _3 == 1
| _31 = b[1] | / \
+-------------+ +--------+ +----------+
|------>| abort | | return 0 |<---|
| +--------+ +----------+ |
| |
|-----------------------------------------|
After tracer, the vec store and scalar load will be in the same basic block and
unfortunately referenced to the same memory address. Thus, the sch1 make the
scalar load before vec store cause the failure on memory access sequeneces.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (8 preceding siblings ...)
2023-11-24 2:37 ` pan2.li at intel dot com
@ 2023-11-27 3:07 ` pan2.li at intel dot com
2023-11-27 8:15 ` rdapp at gcc dot gnu.org
` (9 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-27 3:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #10 from Li Pan <pan2.li at intel dot com> ---
Link to one similar issue as below.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110237
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (9 preceding siblings ...)
2023-11-27 3:07 ` pan2.li at intel dot com
@ 2023-11-27 8:15 ` rdapp at gcc dot gnu.org
2023-11-27 8:25 ` pan2.li at intel dot com
` (8 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rdapp at gcc dot gnu.org @ 2023-11-27 8:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #11 from Robin Dapp <rdapp at gcc dot gnu.org> ---
On Friday I looked into one of the Fortran fails, class_67.f90 and debugged it
independently without reading here further. It is also due to the same reason
- alias analysis finds that the predicated store destination cannot alias with
the load destination and moves the load in front of the store.
/* If the pointer based access is bigger than the variable they cannot
alias. This is similar to the check below where we use TBAA to
increase the size of the pointer based access based on the dynamic
type of a containing object we can infer from it. */
poly_int64 dsize2;
if (known_size_p (size1)
&& poly_int_tree_p (DECL_SIZE (base2), &dsize2)
&& known_lt (dsize2, size1))
return false;
This is where alias analysis "fails". That looks like the exact same thing
posted in the other thread, so thanks for finding that, Pan.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (10 preceding siblings ...)
2023-11-27 8:15 ` rdapp at gcc dot gnu.org
@ 2023-11-27 8:25 ` pan2.li at intel dot com
2023-11-27 8:43 ` rdapp at gcc dot gnu.org
` (7 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-27 8:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #12 from Li Pan <pan2.li at intel dot com> ---
Hi Robin,
Do you have any ideas about the possible fix for this issue? The x86 backend
has one workaround for this issue as below.
https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=dbf8ab449417aa24669f6ccf50be8c17f8c1278e
But unfortunately not suitable for riscv after a quick try because of the below
define_insn:
(define_insn "@pred_store<mode>"
[(set (match_operand:V 0 "memory_operand" "+m") // "=m" here
for x86 SSE.
Given current stage of GCC, I am not quite sure if we need to fix it in the
backend (Or bypass it) or from the middle end.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (11 preceding siblings ...)
2023-11-27 8:25 ` pan2.li at intel dot com
@ 2023-11-27 8:43 ` rdapp at gcc dot gnu.org
2023-11-27 11:37 ` pan2.li at intel dot com
` (6 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rdapp at gcc dot gnu.org @ 2023-11-27 8:43 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #13 from Robin Dapp <rdapp at gcc dot gnu.org> ---
It looks like the takeaway from the other thread is that there are many
likewise assumptions about masked stores in the middle end. It's probably
difficult to get them all right in a short time. Therefore I suppose our only
choice is to go "UNSPEC" as well for now. I'm also testing some quick hacks
locally.
What's the problem about the pred_store pattern you mention? That we would
lose that particular optimization?
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (12 preceding siblings ...)
2023-11-27 8:43 ` rdapp at gcc dot gnu.org
@ 2023-11-27 11:37 ` pan2.li at intel dot com
2023-11-27 12:42 ` rdapp at gcc dot gnu.org
` (5 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-27 11:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #14 from Li Pan <pan2.li at intel dot com> ---
The below diff similar to the x86 workaround looks not working, unless we
change the `+m` to `=m`. But I don't fully test the impact of this change
except the case itself.
diff --git a/gcc/config/riscv/riscv.md b/gcc/config/riscv/riscv.md
index 935eeb7fd8e..882fc8fe5ec 100644
--- a/gcc/config/riscv/riscv.md
+++ b/gcc/config/riscv/riscv.md
@@ -85,6 +85,9 @@ (define_c_enum "unspec" [
;; String unspecs
UNSPEC_STRLEN
+
+ ;; test
+ UNSPEC_MASKSTORE
])
(define_c_enum "unspecv" [
diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
index ba9c9e5a9b6..2f74cec51d1 100644
--- a/gcc/config/riscv/vector.md
+++ b/gcc/config/riscv/vector.md
@@ -1738,16 +1738,17 @@ (define_insn_and_split "*pred_mov<mode>"
;; Dedicated pattern for vse.v instruction since we can't reuse pred_mov
pattern to include
;; memory operand as input which will produce inferior codegen.
(define_insn "@pred_store<mode>"
- [(set (match_operand:V 0 "memory_operand" "+m")
- (if_then_else:V
- (unspec:<VM>
- [(match_operand:<VM> 1 "vector_mask_operand" "vmWc1")
- (match_operand 3 "vector_length_operand" " rK")
- (match_operand 4 "const_int_operand" " i")
- (reg:SI VL_REGNUM)
- (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
- (match_operand:V 2 "register_operand" " vr")
- (match_dup 0)))]
+ [(set (match_operand:V 0 "memory_operand" "=m")
+ (unspec:V
+ [(if_then_else:V
+ (unspec:<VM>
+ [(match_operand:<VM> 1 "vector_mask_operand" "vmWc1")
+ (match_operand 3 "vector_length_operand" " rK")
+ (match_operand 4 "const_int_operand" " i")
+ (reg:SI VL_REGNUM)
+ (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
+ (match_operand:V 2 "register_operand" " vr")
+ (match_dup 0))] UNSPEC_MASKSTORE))]
"TARGET_VECTOR"
"vse<sew>.v\t%2,%0%p1"
[(set_attr "type" "vste")
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (13 preceding siblings ...)
2023-11-27 11:37 ` pan2.li at intel dot com
@ 2023-11-27 12:42 ` rdapp at gcc dot gnu.org
2023-11-27 17:51 ` patrick at rivosinc dot com
` (4 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: rdapp at gcc dot gnu.org @ 2023-11-27 12:42 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #15 from Robin Dapp <rdapp at gcc dot gnu.org> ---
Does the =m fix your issue? Or is the code gen different then and we're just
lucky? For my problem it doesn't help because we still don't recognize an
alias between load and store and the load is moved.
Richi's RFC patch from a while ago helps, though. I cc'd you.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (14 preceding siblings ...)
2023-11-27 12:42 ` rdapp at gcc dot gnu.org
@ 2023-11-27 17:51 ` patrick at rivosinc dot com
2023-11-28 3:15 ` pan2.li at intel dot com
` (3 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-11-27 17:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Patrick O'Neill <patrick at rivosinc dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #56661|0 |1
is obsolete| |
--- Comment #16 from Patrick O'Neill <patrick at rivosinc dot com> ---
Created attachment 56700
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56700&action=edit
rv64gcv_zvl512b testsuite failures 2023-11-25
Tested with hash 9866c98e1015d98b8fc346d7cf73a0070cce5f69
CI run:
https://github.com/patrick-rivos/gcc-postcommit-ci/actions/runs/6988591247
Comparison with zvl128b (pr112583):
Resolved failures (present on zvl128b but not zvl256b):
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++14 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++17 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++20 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++98 scan-tree-dump optimized
"return 15;"
XPASS: gcc.dg/tree-ssa/pr84512.c scan-tree-dump optimized "return 285;"
New failures (present on zvl256b but not zvl128b):
FAIL: gfortran.dg/class_67.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -g execution test
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -g execution test
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler
error: in partial_subreg_p, at rtl.h:3187)
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
errors)
FAIL: gcc.dg/no-strict-overflow-6.c scan-tree-dump optimized "return 0"
FAIL: gcc.dg/pr30957-1.c execution test
FAIL: gcc.dg/pr30957-1.c scan-rtl-dump loop2_unroll "Expanding Accumulator"
FAIL: gcc.dg/torture/pr58955-2.c -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "p_[0-9]* <" 1
FAIL: gcc.dg/tree-ssa/pr32044.c scan-tree-dump-times optimized " / " 0
FAIL: gcc.dg/tree-ssa/scev-12.c scan-tree-dump-times ivopts "
Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects scan-tree-dump vect "using
gather/scatter for strided/grouped access"
FAIL: gcc.dg/vect/pr65518.c scan-tree-dump vect "using gather/scatter for
strided/grouped access"
XPASS: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects scan-tree-dump-times
vect "vectorizing stmts using SLP" 1
XPASS: gcc.dg/vect/slp-reduc-7.c scan-tree-dump-times vect "vectorizing stmts
using SLP" 1
FAIL: gcc.dg/vect/slp-reduc-sad-2.c -flto -ffat-lto-objects scan-tree-dump-not
vect "access with gaps requires scalar epilogue loop"
FAIL: gcc.dg/vect/slp-reduc-sad-2.c scan-tree-dump-not vect "access with gaps
requires scalar epilogue loop"
FAIL: gcc.dg/vect/trapv-vect-reduc-4.c scan-tree-dump-times vect "using an
in-order \\(fold-left\\) reduction" 1
XPASS: gcc.dg/vect/vect-live-slp-3.c -flto -ffat-lto-objects
scan-tree-dump-times vect "vectorizing stmts using SLP" 4
XPASS: gcc.dg/vect/vect-live-slp-3.c scan-tree-dump-times vect "vectorizing
stmts using SLP" 4
FAIL: gcc.target/riscv/rvv/base/cpymem-1.c check-function-bodies f3
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f1
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f2
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f3
Comparison with hash 30d8188e6d1b450533ab0055b951ebfc75022219 zvl256b (previous
report):
Resolved failures (improved from 30d8188e6d1b450533ab0055b951ebfc75022219)
FAIL: gfortran.dg/gomp/pr27573.f90 -O (internal compiler error:
verify_gimple failed)
FAIL: gfortran.dg/gomp/pr27573.f90 -O (test for excess errors)
FAIL: gcc.dg/gomp/pr27573.c (internal compiler error: verify_gimple failed)
FAIL: gcc.dg/gomp/pr27573.c (test for excess errors)
ERROR: gcc.dg/tree-ssa/return-value-range-1.c: 1: syntax error for " dg-do 1
ling "
ERROR: gcc.dg/tree-ssa/return-value-range-1.c: 1: syntax error for " dg-do 1
ling "
FAIL: gcc.dg/tree-ssa/ssa-lim-11.c scan-tree-dump-times lim2 "Executing store
motion of __gcov0.access_buf\\[[12]\\] from loop 1" 2
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-1.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-16.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-17.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-3.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-5.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
FAIL: gcc.target/riscv/rvv/autovec/partial/slp_run-6.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/reduc/reduc_run-9.c execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-run.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_extract-runu.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
FAIL: gcc.target/riscv/rvv/autovec/vls-vlmax/vec_set-run.c -std=c99 -O3
-ftree-vectorize --param riscv-autovec-preference=fixed-vlmax execution test
New failures (regression from 30d8188e6d1b450533ab0055b951ebfc75022219)
FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile "Read
tp_first_run: 0" 1
FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile "Read
tp_first_run: 2" 1
FAIL: gcc.target/riscv/rvv/base/cpymem-1.c check-function-bodies f3
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f1
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f2
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f3
The time-profiler-3.c issue is generic and recorded here: pr112689
This commit is slightly outdated and does not include the fix for pr112661.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (15 preceding siblings ...)
2023-11-27 17:51 ` patrick at rivosinc dot com
@ 2023-11-28 3:15 ` pan2.li at intel dot com
2023-12-04 21:35 ` patrick at rivosinc dot com
` (2 subsequent siblings)
19 siblings, 0 replies; 21+ messages in thread
From: pan2.li at intel dot com @ 2023-11-28 3:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
--- Comment #17 from Li Pan <pan2.li at intel dot com> ---
(In reply to Robin Dapp from comment #15)
> Does the =m fix your issue? Or is the code gen different then and we're
> just lucky? For my problem it doesn't help because we still don't recognize
> an alias between load and store and the load is moved.
>
> Richi's RFC patch from a while ago helps, though. I cc'd you.
No, it should be something that happens to work. I double-checked the asm
layout, the alias is still false between scalar load and vector store.
1016e: 158000ef jal 102c6 <memset>
10172: ffc50793 add a5,a0,-4
10176: 4689 li a3,2
10178: 0d047057 vsetvli zero,s0,e32,m1,ta,ma
1017c: 40d8 lw a4,4(s1) <= LOAD
1017e: 5e00b0d7 vmv.v.i v1,1
10182: 74d1a423 sw a3,1864(gp) # 13398 <a>
10186: 0207e0a7 vse32.v v1,(a5) <=
STORE
1018a: 03271163 bne a4,s2,101ac <main+0x6e>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (16 preceding siblings ...)
2023-11-28 3:15 ` pan2.li at intel dot com
@ 2023-12-04 21:35 ` patrick at rivosinc dot com
2023-12-11 23:48 ` patrick at rivosinc dot com
2024-01-24 23:53 ` patrick at rivosinc dot com
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-12-04 21:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Patrick O'Neill <patrick at rivosinc dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #56700|0 |1
is obsolete| |
--- Comment #18 from Patrick O'Neill <patrick at rivosinc dot com> ---
Created attachment 56794
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56794&action=edit
rv64gcv_zvl512b testsuite failures 2023-12-03
Tested with hash 806789e6daa39ab0503d91c71b3faeb5d5cdd317
CI run:
https://github.com/patrick-rivos/gcc-postcommit-ci/actions/runs/7077949347
Comparison with zvl128b (pr112583):
Resolved failures (present on zvl128b but not zvl512b):
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++14 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++17 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++20 scan-tree-dump optimized
"return 15;"
XPASS: g++.dg/tree-ssa/pr83518.C -std=gnu++98 scan-tree-dump optimized
"return 15;"
XPASS: gcc.dg/tree-ssa/pr84512.c scan-tree-dump optimized "return 285;"
New failures (present on zvl512b but not zvl128b):
FAIL: gfortran.dg/matmul_1.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -g execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -g execution test
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler
error: in partial_subreg_p, at rtl.h:3187)
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
errors)
FAIL: gcc.dg/no-strict-overflow-6.c scan-tree-dump optimized "return 0"
FAIL: gcc.dg/pr30957-1.c execution test
FAIL: gcc.dg/pr30957-1.c scan-rtl-dump loop2_unroll "Expanding Accumulator"
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "p_[0-9]* <" 1
FAIL: gcc.dg/tree-ssa/pr32044.c scan-tree-dump-times optimized " / " 0
FAIL: gcc.dg/tree-ssa/scev-12.c scan-tree-dump-times ivopts "
Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects scan-tree-dump vect "using
gather/scatter for strided/grouped access"
FAIL: gcc.dg/vect/pr65518.c scan-tree-dump vect "using gather/scatter for
strided/grouped access"
XPASS: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects scan-tree-dump-times
vect "vectorizing stmts using SLP" 1
XPASS: gcc.dg/vect/slp-reduc-7.c scan-tree-dump-times vect "vectorizing stmts
using SLP" 1
FAIL: gcc.dg/vect/slp-reduc-sad-2.c -flto -ffat-lto-objects scan-tree-dump-not
vect "access with gaps requires scalar epilogue loop"
FAIL: gcc.dg/vect/slp-reduc-sad-2.c scan-tree-dump-not vect "access with gaps
requires scalar epilogue loop"
FAIL: gcc.dg/vect/trapv-vect-reduc-4.c scan-tree-dump-times vect "using an
in-order \\(fold-left\\) reduction" 1
XPASS: gcc.dg/vect/vect-live-slp-3.c -flto -ffat-lto-objects
scan-tree-dump-times vect "vectorizing stmts using SLP" 4
XPASS: gcc.dg/vect/vect-live-slp-3.c scan-tree-dump-times vect "vectorizing
stmts using SLP" 4
FAIL: gcc.target/riscv/rvv/base/cpymem-1.c check-function-bodies f3
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f1
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f2
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f3
Comparison with hash 9866c98e1015d98b8fc346d7cf73a0070cce5f69 zvl512b (previous
report):
Resolved:
FAIL: g++.dg/contracts/contracts-tmpl-spec2.C output pattern test
FAIL: gfortran.dg/class_67.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/maxval_char_4.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_3.f90 -O3 -g (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions (test for excess errors)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (internal compiler error: in
duplicate_and_interleave, at tree-vect-slp.cc:8025)
FAIL: gfortran.dg/minval_char_4.f90 -O3 -g (test for excess errors)
XPASS: gcc.dg/uninit-pred-9_b.c bogus warning (test for bogus messages, line
20)
FAIL: gcc.dg/vla-1.c scan-tree-dump-times optimized " s=> i" 2
FAIL: gcc.dg/torture/pr58955-2.c -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile "Read
tp_first_run: 0" 1
FAIL: gcc.dg/tree-prof/time-profiler-3.c scan-ipa-dump-times profile "Read
tp_first_run: 2" 1
New failures:
FAIL: gcc.target/riscv/rvv/autovec/pr112552.c -O3 -ftree-vectorize (test for
excess errors)
This new failure is also seen on pr112583 - looks like a simple issue.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (17 preceding siblings ...)
2023-12-04 21:35 ` patrick at rivosinc dot com
@ 2023-12-11 23:48 ` patrick at rivosinc dot com
2024-01-24 23:53 ` patrick at rivosinc dot com
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2023-12-11 23:48 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Patrick O'Neill <patrick at rivosinc dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #56794|0 |1
is obsolete| |
--- Comment #19 from Patrick O'Neill <patrick at rivosinc dot com> ---
Created attachment 56855
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56855&action=edit
rv64gcv_zvl512b testsuite failures 2023-12-10
Tested with hash fbfe43daec6443978df65530dc5f7f3f8a4e6f9e
CI run:
https://github.com/patrick-rivos/gcc-postcommit-ci/actions/runs/7158896306
Comparison with zvl128b (pr112583):
Resolved failures (present on zvl128b but not zvl512b):
XPASS: gcc.dg/tree-ssa/pr84512.c scan-tree-dump optimized "return 285;"
XPASS: gcc.dg/vect/bb-slp-68.c -flto -ffat-lto-objects scan-tree-dump-not slp2
"from scalars"
XPASS: gcc.dg/vect/bb-slp-68.c scan-tree-dump-not slp2 "from scalars"
FAIL: gcc.dg/vect/bb-slp-cond-1.c -flto -ffat-lto-objects scan-tree-dump-times
vect "loop vectorized" 2
FAIL: gcc.dg/vect/bb-slp-cond-1.c scan-tree-dump-times vect "loop vectorized" 2
FAIL: gcc.dg/vect/bb-slp-pr65935.c -flto -ffat-lto-objects
scan-tree-dump-times slp1 "optimized: basic block" 11
FAIL: gcc.dg/vect/bb-slp-pr65935.c scan-tree-dump-times slp1 "optimized: basic
block" 11
FAIL: gcc.dg/vect/bb-slp-subgroups-2.c -flto -ffat-lto-objects
scan-tree-dump-times slp2 "optimized: basic block" 1
FAIL: gcc.dg/vect/bb-slp-subgroups-2.c scan-tree-dump-times slp2 "optimized:
basic block" 1
XPASS: gcc.dg/vect/bb-slp-subgroups-3.c -flto -ffat-lto-objects
scan-tree-dump-times slp2 "optimized: basic block" 2
XPASS: gcc.dg/vect/bb-slp-subgroups-3.c scan-tree-dump-times slp2 "optimized:
basic block" 2
FAIL: gcc.dg/vect/pr66251.c -flto -ffat-lto-objects scan-tree-dump-times vect
"vectorized 1 loops" 2
FAIL: gcc.dg/vect/pr66251.c scan-tree-dump-times vect "vectorized 1 loops" 2
New failures (present on zvl512b but not zvl128b):
FAIL: gfortran.dg/matmul_1.f90 -O3 -fomit-frame-pointer -funroll-loops
-fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/matmul_1.f90 -O3 -g execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions execution test
FAIL: gfortran.dg/proc_ptr_comp_12.f90 -O3 -g execution test
FAIL: gfortran.dg/vect/pr83232.f90 -O scan-tree-dump-times slp1
"vectorizing stmts using SLP" 3
FAIL: gcc.dg/no-strict-overflow-6.c scan-tree-dump optimized "return 0"
FAIL: gcc.dg/pr30957-1.c execution test
FAIL: gcc.dg/pr30957-1.c scan-rtl-dump loop2_unroll "Expanding Accumulator"
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI <p_" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "PHI" 1
FAIL: gcc.dg/tree-ssa/ivopts-lt-2.c scan-tree-dump-times ivopts "p_[0-9]* <" 1
FAIL: gcc.dg/tree-ssa/pr32044.c scan-tree-dump-times optimized " / " 0
FAIL: gcc.dg/tree-ssa/scev-12.c scan-tree-dump-times ivopts "
Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects scan-tree-dump vect "using
gather/scatter for strided/grouped access"
FAIL: gcc.dg/vect/pr65518.c scan-tree-dump vect "using gather/scatter for
strided/grouped access"
XPASS: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects scan-tree-dump-times
vect "vectorizing stmts using SLP" 1
XPASS: gcc.dg/vect/slp-reduc-7.c scan-tree-dump-times vect "vectorizing stmts
using SLP" 1
XPASS: gcc.dg/vect/vect-live-slp-3.c -flto -ffat-lto-objects
scan-tree-dump-times vect "vectorizing stmts using SLP" 4
XPASS: gcc.dg/vect/vect-live-slp-3.c scan-tree-dump-times vect "vectorizing
stmts using SLP" 4
FAIL: gcc.target/riscv/rvv/base/cpymem-2.c check-function-bodies f1
Comparison with hash 806789e6daa39ab0503d91c71b3faeb5d5cdd317 zvl512b (previous
report):
Resolved:
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler
error: in partial_subreg_p, at rtl.h:3187)
FAIL: gcc.c-torture/compile/20090907-1.c -O3 -fomit-frame-pointer
-funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
errors)
XPASS: gcc.dg/tree-ssa/ssa-fre-3.c scan-tree-dump fre1 "Replaced \\(int\\)
aa_.*with a_"
FAIL: gcc.dg/vect/trapv-vect-reduc-4.c scan-tree-dump-times vect "using an
in-order \\(fold-left\\) reduction" 1
FAIL: gcc.target/riscv/rvv/autovec/pr112552.c -O3 -ftree-vectorize (test for
excess errors)
New failures:
FAIL: gcc.dg/debug/btf/btf-datasec-3.c scan-assembler-times bts_type 3
FAIL: gcc.dg/debug/btf/btf-datasec-3.c scan-assembler-times bts_type:
\\(BTF_KIND_VAR 'test_bss2'\\) 1
FAIL: gcc.dg/debug/btf/btf-datasec-3.c scan-assembler-times bts_type:
\\(BTF_KIND_VAR 'test_data2'\\) 1
FAIL: gcc.target/riscv/rvv/autovec/pr111751.c -O3 -ftree-vectorize
scan-assembler-not vset
FAIL: gcc.target/riscv/rvv/autovec/pr111751.c -O3 -ftree-vectorize
scan-assembler-times li\\s+[a-x0-9]+,0\\s+ret 2
None of the new failures are execution fails, ICEs, or excess errors.
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug target/112598] RISC-V regression testsuite errors with rv64gcv_zvl512b
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
` (18 preceding siblings ...)
2023-12-11 23:48 ` patrick at rivosinc dot com
@ 2024-01-24 23:53 ` patrick at rivosinc dot com
19 siblings, 0 replies; 21+ messages in thread
From: patrick at rivosinc dot com @ 2024-01-24 23:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112598
Patrick O'Neill <patrick at rivosinc dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|UNCONFIRMED |RESOLVED
--- Comment #20 from Patrick O'Neill <patrick at rivosinc dot com> ---
Closing my old tracking issues.
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2024-01-24 23:53 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-17 21:18 [Bug target/112598] New: RISC-V regression testsuite errors with rv64gcv_zvl512b patrick at rivosinc dot com
2023-11-17 21:21 ` [Bug target/112598] " patrick at rivosinc dot com
2023-11-21 2:43 ` juzhe.zhong at rivai dot ai
2023-11-21 13:38 ` cvs-commit at gcc dot gnu.org
2023-11-21 17:43 ` patrick at rivosinc dot com
2023-11-22 6:45 ` cvs-commit at gcc dot gnu.org
2023-11-22 11:09 ` juzhe.zhong at rivai dot ai
2023-11-22 12:31 ` cvs-commit at gcc dot gnu.org
2023-11-23 6:02 ` pan2.li at intel dot com
2023-11-24 2:37 ` pan2.li at intel dot com
2023-11-27 3:07 ` pan2.li at intel dot com
2023-11-27 8:15 ` rdapp at gcc dot gnu.org
2023-11-27 8:25 ` pan2.li at intel dot com
2023-11-27 8:43 ` rdapp at gcc dot gnu.org
2023-11-27 11:37 ` pan2.li at intel dot com
2023-11-27 12:42 ` rdapp at gcc dot gnu.org
2023-11-27 17:51 ` patrick at rivosinc dot com
2023-11-28 3:15 ` pan2.li at intel dot com
2023-12-04 21:35 ` patrick at rivosinc dot com
2023-12-11 23:48 ` patrick at rivosinc dot com
2024-01-24 23:53 ` patrick at rivosinc dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).