Message ID | 20240422134734.1909499-1-pan2.li@intel.com |
---|---|
State | New |
Headers | show |
Series | [v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 | expand |
lgtm juzhe.zhong@rivai.ai From: pan2.li Date: 2024-04-22 21:47 To: gcc-patches CC: juzhe.zhong; kito.cheng; rdapp.gcc; Pan Li Subject: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 From: Pan Li <pan2.li@intel.com> After we reverted below 2 commits, the reference to attr need some adjustment as the group_overlap is no longer available. * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute * RISC-V: Rename vconstraint into group_overlap The below tests are passed for this patch. * The rv64gcv fully regression tests. gcc/ChangeLog: * config/riscv/vector-crypto.md: Signed-off-by: Pan Li <pan2.li@intel.com> --- gcc/config/riscv/vector-crypto.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/riscv/vector-crypto.md b/gcc/config/riscv/vector-crypto.md index 519c6a10d94..23dc549e5b8 100755 --- a/gcc/config/riscv/vector-crypto.md +++ b/gcc/config/riscv/vector-crypto.md @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" "vwsll.v%o4\t%0,%3,%4%p1" [(set_attr "type" "vwsll") (set_attr "mode" "<V_DOUBLE_TRUNC>") - (set_attr "group_overlap" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) + (set_attr "vconstraint" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) ;; vbrev.v vbrev8.v vrev8.v (define_insn "@pred_v<rev><mode>"
On Mon, 22 Apr 2024 06:47:34 PDT (-0700), pan2.li@intel.com wrote: > From: Pan Li <pan2.li@intel.com> > > After we reverted below 2 commits, the reference to attr need some > adjustment as the group_overlap is no longer available. > > * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute > * RISC-V: Rename vconstraint into group_overlap That landed as cacc55a4c0b ("Revert "RISC-V: Rename vconstraint into group_overlap""), but I can't find a review on the lists and the commit appears to not even build. Did I miss the reviews or something? > The below tests are passed for this patch. > > * The rv64gcv fully regression tests. > > gcc/ChangeLog: > > * config/riscv/vector-crypto.md: > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/vector-crypto.md | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/config/riscv/vector-crypto.md b/gcc/config/riscv/vector-crypto.md > index 519c6a10d94..23dc549e5b8 100755 > --- a/gcc/config/riscv/vector-crypto.md > +++ b/gcc/config/riscv/vector-crypto.md > @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" > "vwsll.v%o4\t%0,%3,%4%p1" > [(set_attr "type" "vwsll") > (set_attr "mode" "<V_DOUBLE_TRUNC>") > - (set_attr "group_overlap" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) > + (set_attr "vconstraint" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) > > ;; vbrev.v vbrev8.v vrev8.v > (define_insn "@pred_v<rev><mode>"
Hi Pan, I was running the testsuite for this and noticed an ICE scroll by when this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for rv64gcv: FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) I'll send the full list of new failures once the runs finish. Thanks, Patrick On 4/22/24 06:47, pan2.li@intel.com wrote: > From: Pan Li <pan2.li@intel.com> > > After we reverted below 2 commits, the reference to attr need some > adjustment as the group_overlap is no longer available. > > * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute > * RISC-V: Rename vconstraint into group_overlap > > The below tests are passed for this patch. > > * The rv64gcv fully regression tests. > > gcc/ChangeLog: > > * config/riscv/vector-crypto.md: > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/vector-crypto.md | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/config/riscv/vector-crypto.md b/gcc/config/riscv/vector-crypto.md > index 519c6a10d94..23dc549e5b8 100755 > --- a/gcc/config/riscv/vector-crypto.md > +++ b/gcc/config/riscv/vector-crypto.md > @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" > "vwsll.v%o4\t%0,%3,%4%p1" > [(set_attr "type" "vwsll") > (set_attr "mode" "<V_DOUBLE_TRUNC>") > - (set_attr "group_overlap" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) > + (set_attr "vconstraint" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) > > ;; vbrev.v vbrev8.v vrev8.v > (define_insn "@pred_v<rev><mode>"
I think the revert patch exposes latent bug, Li Pan will look into it. juzhe.zhong@rivai.ai From: Patrick O'Neill Date: 2024-04-23 03:55 To: pan2.li; gcc-patches CC: juzhe.zhong; kito.cheng; rdapp.gcc Subject: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 Hi Pan, I was running the testsuite for this and noticed an ICE scroll by when this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for rv64gcv: FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) I'll send the full list of new failures once the runs finish. Thanks, Patrick On 4/22/24 06:47, pan2.li@intel.com wrote: > From: Pan Li <pan2.li@intel.com> > > After we reverted below 2 commits, the reference to attr need some > adjustment as the group_overlap is no longer available. > > * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute > * RISC-V: Rename vconstraint into group_overlap > > The below tests are passed for this patch. > > * The rv64gcv fully regression tests. > > gcc/ChangeLog: > > * config/riscv/vector-crypto.md: > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/vector-crypto.md | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/gcc/config/riscv/vector-crypto.md b/gcc/config/riscv/vector-crypto.md > index 519c6a10d94..23dc549e5b8 100755 > --- a/gcc/config/riscv/vector-crypto.md > +++ b/gcc/config/riscv/vector-crypto.md > @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" > "vwsll.v%o4\t%0,%3,%4%p1" > [(set_attr "type" "vwsll") > (set_attr "mode" "<V_DOUBLE_TRUNC>") > - (set_attr "group_overlap" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) > + (set_attr "vconstraint" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) > > ;; vbrev.v vbrev8.v vrev8.v > (define_insn "@pred_v<rev><mode>"
Sure thing. Sorry for that Fortran is not fully tested for this change, will take a look into it ASAP.
Pan
From: 钟居哲 <juzhe.zhong@rivai.ai>
Sent: Tuesday, April 23, 2024 6:06 AM
To: patrick <patrick@rivosinc.com>; Li, Pan2 <pan2.li@intel.com>; gcc-patches <gcc-patches@gcc.gnu.org>
Cc: kito.cheng <kito.cheng@gmail.com>; rdapp.gcc <rdapp.gcc@gmail.com>
Subject: Re: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1
I think the revert patch exposes latent bug, Li Pan will look into it.
This patch in particular does not cause any more regressions. It's one of the other reverts from the weekend. Before the reverts [1]: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 48/ 32 | 12/ 3| 12 / 2 After the reverts: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 50 / 33 | 12 / 3 | 26 / 7 | gcc new fails: FAIL: gcc.dg/graphite/pr111878.c (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gcc.dg/graphite/pr111878.c (test for excess errors) gfortran new fails: FAIL: gfortran.dg/graphite/id-27.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/id-27.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr14741.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr14741.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (test for excess errors) For future reference, the precommit does not do well with many unrelated patches that are dependent on eachother. In the future sending these as a series would allow precommit to properly test them (as always you can see the testing results on patchworks). Thanks, Patrick [1] https://github.com/patrick-rivos/gcc-postcommit-ci/issues/801 On 4/22/24 12:55, Patrick O'Neill wrote: > Hi Pan, > > I was running the testsuite for this and noticed an ICE scroll by when > this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for > rv64gcv: > > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (internal > compiler error: in extract_insn, at recog.cc:2812) > > I'll send the full list of new failures once the runs finish. > > Thanks, > Patrick > > On 4/22/24 06:47, pan2.li@intel.com wrote: >> From: Pan Li <pan2.li@intel.com> >> >> After we reverted below 2 commits, the reference to attr need some >> adjustment as the group_overlap is no longer available. >> >> * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute >> * RISC-V: Rename vconstraint into group_overlap >> >> The below tests are passed for this patch. >> >> * The rv64gcv fully regression tests. >> >> gcc/ChangeLog: >> >> * config/riscv/vector-crypto.md: >> >> Signed-off-by: Pan Li <pan2.li@intel.com> >> --- >> gcc/config/riscv/vector-crypto.md | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gcc/config/riscv/vector-crypto.md >> b/gcc/config/riscv/vector-crypto.md >> index 519c6a10d94..23dc549e5b8 100755 >> --- a/gcc/config/riscv/vector-crypto.md >> +++ b/gcc/config/riscv/vector-crypto.md >> @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" >> "vwsll.v%o4\t%0,%3,%4%p1" >> [(set_attr "type" "vwsll") >> (set_attr "mode" "<V_DOUBLE_TRUNC>") >> - (set_attr "group_overlap" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) >> + (set_attr "vconstraint" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) >> ;; vbrev.v vbrev8.v vrev8.v >> (define_insn "@pred_v<rev><mode>"
Thanks Patrick. Turn out that the make report cannot tell the error like below and then the graphite.exp test will never run. That explains why I missed test failures, will take care of it ASAP. sorry, unimplemented: Graphite loop optimizations cannot be used (isl is not available) Pan -----Original Message----- From: Patrick O'Neill <patrick@rivosinc.com> Sent: Tuesday, April 23, 2024 8:32 AM To: Li, Pan2 <pan2.li@intel.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com Subject: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 This patch in particular does not cause any more regressions. It's one of the other reverts from the weekend. Before the reverts [1]: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 48/ 32 | 12/ 3| 12 / 2 After the reverts: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 50 / 33 | 12 / 3 | 26 / 7 | gcc new fails: FAIL: gcc.dg/graphite/pr111878.c (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gcc.dg/graphite/pr111878.c (test for excess errors) gfortran new fails: FAIL: gfortran.dg/graphite/id-27.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/id-27.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr14741.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr14741.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (test for excess errors) For future reference, the precommit does not do well with many unrelated patches that are dependent on eachother. In the future sending these as a series would allow precommit to properly test them (as always you can see the testing results on patchworks). Thanks, Patrick [1] https://github.com/patrick-rivos/gcc-postcommit-ci/issues/801 On 4/22/24 12:55, Patrick O'Neill wrote: > Hi Pan, > > I was running the testsuite for this and noticed an ICE scroll by when > this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for > rv64gcv: > > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (internal > compiler error: in extract_insn, at recog.cc:2812) > > I'll send the full list of new failures once the runs finish. > > Thanks, > Patrick > > On 4/22/24 06:47, pan2.li@intel.com wrote: >> From: Pan Li <pan2.li@intel.com> >> >> After we reverted below 2 commits, the reference to attr need some >> adjustment as the group_overlap is no longer available. >> >> * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute >> * RISC-V: Rename vconstraint into group_overlap >> >> The below tests are passed for this patch. >> >> * The rv64gcv fully regression tests. >> >> gcc/ChangeLog: >> >> * config/riscv/vector-crypto.md: >> >> Signed-off-by: Pan Li <pan2.li@intel.com> >> --- >> gcc/config/riscv/vector-crypto.md | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gcc/config/riscv/vector-crypto.md >> b/gcc/config/riscv/vector-crypto.md >> index 519c6a10d94..23dc549e5b8 100755 >> --- a/gcc/config/riscv/vector-crypto.md >> +++ b/gcc/config/riscv/vector-crypto.md >> @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" >> "vwsll.v%o4\t%0,%3,%4%p1" >> [(set_attr "type" "vwsll") >> (set_attr "mode" "<V_DOUBLE_TRUNC>") >> - (set_attr "group_overlap" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) >> + (set_attr "vconstraint" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) >> ;; vbrev.v vbrev8.v vrev8.v >> (define_insn "@pred_v<rev><mode>"
Hi Patrick, After some investigation and double confirm, I think the gcc.dg/graphite/pr111878.c ice may have nothing to do with the patches of revert series as it exists for quit a while. It may related to below commit 2e7abd09621a4401d44f4513adf126bce4b4828b RISC-V: Block VLSmodes according to TARGET_MAX_LMUL and BITS_PER_RISCV_VECTOR Could you please help to double check about it *manually*? Here is my step(s) for your reference and I will take care of this failure soon. ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc --version riscv64-unknown-elf-gcc (GCC) 14.0.0 20231205 (experimental) Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 1. download isl-0.24, let isl -> /some-where/riscv-gnu-toolchain/gcc/isl-0.24 2. mkdir __BUILD__ && cd __BUILD__ && ../configure \ --target=riscv64-unknown-elf \ --prefix=${INSTALL_DIR} \ --disable-shared \ --enable-threads \ --enable-tls \ --enable-languages=c,c++,fortran \ --with-system-zlib \ --with-newlib \ --disable-libmudflap \ --disable-libssp \ --disable-libquadmath \ --disable-libgomp \ --enable-nls \ --disable-tm-clone-registry \ --src=`pwd`/../ \ --with-abi=lp64d \ --with-arch=rv64gcv \ --with-tune=rocket \ --with-isa-spec=20191213 \ CFLAGS_FOR_BUILD="-O0 -g" \ CXXFLAGS_FOR_BUILD="-O0 -g" \ CFLAGS_FOR_TARGET="-O0 -g" \ CXXFLAGS_FOR_TARGET="-O0 -g" \ BOOT_CFLAGS="-O0 -g" \ CFLAGS="-O0 -g" \ CXXFLAGS="-O0 -g" \ GM2FLAGS_FOR_TARGET="-O0 -g" \ GOCFLAGS_FOR_TARGET="-O0 -g" \ GDCFLAGS_FOR_TARGET="-O0 -g" make -j $(nproc) all-gcc && make install-gcc 3. ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc gcc/testsuite/gcc.dg/graphite/pr111878.c -O3 -fgraphite-identity -fsave-optimization-record -march=rv64gcv -mabi=lp64d -c -S -o - Pan -----Original Message----- From: Li, Pan2 Sent: Tuesday, April 23, 2024 10:32 AM To: Patrick O'Neill <patrick@rivosinc.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com Subject: RE: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 Thanks Patrick. Turn out that the make report cannot tell the error like below and then the graphite.exp test will never run. That explains why I missed test failures, will take care of it ASAP. sorry, unimplemented: Graphite loop optimizations cannot be used (isl is not available) Pan -----Original Message----- From: Patrick O'Neill <patrick@rivosinc.com> Sent: Tuesday, April 23, 2024 8:32 AM To: Li, Pan2 <pan2.li@intel.com>; gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com Subject: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 This patch in particular does not cause any more regressions. It's one of the other reverts from the weekend. Before the reverts [1]: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 48/ 32 | 12/ 3| 12 / 2 After the reverts: | gcc | g++ | gfortran | rv64gcv/ lp64d/ medlow | 50 / 33 | 12 / 3 | 26 / 7 | gcc new fails: FAIL: gcc.dg/graphite/pr111878.c (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gcc.dg/graphite/pr111878.c (test for excess errors) gfortran new fails: FAIL: gfortran.dg/graphite/id-27.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/id-27.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr14741.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr14741.f90 -O (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess errors) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (test for excess errors) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (internal compiler error: in extract_insn, at recog.cc:2812) FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (test for excess errors) For future reference, the precommit does not do well with many unrelated patches that are dependent on eachother. In the future sending these as a series would allow precommit to properly test them (as always you can see the testing results on patchworks). Thanks, Patrick [1] https://github.com/patrick-rivos/gcc-postcommit-ci/issues/801 On 4/22/24 12:55, Patrick O'Neill wrote: > Hi Pan, > > I was running the testsuite for this and noticed an ICE scroll by when > this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for > rv64gcv: > > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (internal > compiler error: in extract_insn, at recog.cc:2812) > > I'll send the full list of new failures once the runs finish. > > Thanks, > Patrick > > On 4/22/24 06:47, pan2.li@intel.com wrote: >> From: Pan Li <pan2.li@intel.com> >> >> After we reverted below 2 commits, the reference to attr need some >> adjustment as the group_overlap is no longer available. >> >> * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute >> * RISC-V: Rename vconstraint into group_overlap >> >> The below tests are passed for this patch. >> >> * The rv64gcv fully regression tests. >> >> gcc/ChangeLog: >> >> * config/riscv/vector-crypto.md: >> >> Signed-off-by: Pan Li <pan2.li@intel.com> >> --- >> gcc/config/riscv/vector-crypto.md | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/gcc/config/riscv/vector-crypto.md >> b/gcc/config/riscv/vector-crypto.md >> index 519c6a10d94..23dc549e5b8 100755 >> --- a/gcc/config/riscv/vector-crypto.md >> +++ b/gcc/config/riscv/vector-crypto.md >> @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" >> "vwsll.v%o4\t%0,%3,%4%p1" >> [(set_attr "type" "vwsll") >> (set_attr "mode" "<V_DOUBLE_TRUNC>") >> - (set_attr "group_overlap" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) >> + (set_attr "vconstraint" >> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) >> ;; vbrev.v vbrev8.v vrev8.v >> (define_insn "@pred_v<rev><mode>"
Hi Pan, Sorry about that. It looks like there was difference between my local machine and CI machine. From the CI it looks like we're back to the failure list we had on friday. I'll do some local testing to manually confirm this. Thanks, Patrick On 4/22/24 23:50, Li, Pan2 wrote: > Hi Patrick, > > After some investigation and double confirm, I think the gcc.dg/graphite/pr111878.c ice may have nothing to do > with the patches of revert series as it exists for quit a while. It may related to below commit > > 2e7abd09621a4401d44f4513adf126bce4b4828b RISC-V: Block VLSmodes according to TARGET_MAX_LMUL and BITS_PER_RISCV_VECTOR > > Could you please help to double check about it *manually*? Here is my step(s) for your reference and I will take care of this failure soon. > > ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc --version > riscv64-unknown-elf-gcc (GCC) 14.0.0 20231205 (experimental) > Copyright (C) 2023 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > 1. download isl-0.24, let isl -> /some-where/riscv-gnu-toolchain/gcc/isl-0.24 > 2. mkdir __BUILD__ && cd __BUILD__ && ../configure \ > --target=riscv64-unknown-elf \ > --prefix=${INSTALL_DIR} \ > --disable-shared \ > --enable-threads \ > --enable-tls \ > --enable-languages=c,c++,fortran \ > --with-system-zlib \ > --with-newlib \ > --disable-libmudflap \ > --disable-libssp \ > --disable-libquadmath \ > --disable-libgomp \ > --enable-nls \ > --disable-tm-clone-registry \ > --src=`pwd`/../ \ > --with-abi=lp64d \ > --with-arch=rv64gcv \ > --with-tune=rocket \ > --with-isa-spec=20191213 \ > CFLAGS_FOR_BUILD="-O0 -g" \ > CXXFLAGS_FOR_BUILD="-O0 -g" \ > CFLAGS_FOR_TARGET="-O0 -g" \ > CXXFLAGS_FOR_TARGET="-O0 -g" \ > BOOT_CFLAGS="-O0 -g" \ > CFLAGS="-O0 -g" \ > CXXFLAGS="-O0 -g" \ > GM2FLAGS_FOR_TARGET="-O0 -g" \ > GOCFLAGS_FOR_TARGET="-O0 -g" \ > GDCFLAGS_FOR_TARGET="-O0 -g" > make -j $(nproc) all-gcc && make install-gcc > 3. ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc gcc/testsuite/gcc.dg/graphite/pr111878.c -O3 -fgraphite-identity -fsave-optimization-record -march=rv64gcv -mabi=lp64d -c -S -o - > > Pan > > -----Original Message----- > From: Li, Pan2 > Sent: Tuesday, April 23, 2024 10:32 AM > To: Patrick O'Neill <patrick@rivosinc.com>; gcc-patches@gcc.gnu.org > Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com > Subject: RE: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 > > Thanks Patrick. > > Turn out that the make report cannot tell the error like below and then the graphite.exp test will never run. > That explains why I missed test failures, will take care of it ASAP. > > sorry, unimplemented: Graphite loop optimizations cannot be used (isl is not available) > > Pan > > -----Original Message----- > From: Patrick O'Neill <patrick@rivosinc.com> > Sent: Tuesday, April 23, 2024 8:32 AM > To: Li, Pan2 <pan2.li@intel.com>; gcc-patches@gcc.gnu.org > Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com > Subject: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 > > This patch in particular does not cause any more regressions. It's one > of the other reverts from the weekend. > > Before the reverts [1]: > | gcc | > g++ | gfortran | > rv64gcv/ lp64d/ medlow | 48/ 32 | 12/ 3| 12 / 2 > > After the reverts: > | gcc | > g++ | gfortran | > rv64gcv/ lp64d/ medlow | 50 / 33 | 12 / 3 | 26 / 7 | > > > gcc new fails: > FAIL: gcc.dg/graphite/pr111878.c (internal compiler error: in > extract_insn, at recog.cc:2812) > FAIL: gcc.dg/graphite/pr111878.c (test for excess errors) > > gfortran new fails: > FAIL: gfortran.dg/graphite/id-27.f90 -O (internal compiler error: in > extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/id-27.f90 -O (test for excess errors) > FAIL: gfortran.dg/graphite/pr14741.f90 -O (internal compiler error: > in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/pr14741.f90 -O (test for excess errors) > FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (internal > compiler error: in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for > excess errors) > FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (internal compiler > error: in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (test for excess errors) > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (internal > compiler error: in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer > -funroll-loops -fpeel-loops -ftracer -finline-functions (test for > excess errors) > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (internal compiler > error: in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (test for excess errors) > FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (internal compiler > error: in extract_insn, at recog.cc:2812) > FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (test for excess errors) > > > For future reference, the precommit does not do well with many unrelated > patches that are dependent on eachother. > In the future sending these as a series would allow precommit to > properly test them (as always you can see the testing results on > patchworks). > > Thanks, > Patrick > > [1] https://github.com/patrick-rivos/gcc-postcommit-ci/issues/801 > > On 4/22/24 12:55, Patrick O'Neill wrote: >> Hi Pan, >> >> I was running the testsuite for this and noticed an ICE scroll by when >> this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for >> rv64gcv: >> >> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer >> -funroll-loops -fpeel-loops -ftracer -finline-functions (internal >> compiler error: in extract_insn, at recog.cc:2812) >> >> I'll send the full list of new failures once the runs finish. >> >> Thanks, >> Patrick >> >> On 4/22/24 06:47, pan2.li@intel.com wrote: >>> From: Pan Li <pan2.li@intel.com> >>> >>> After we reverted below 2 commits, the reference to attr need some >>> adjustment as the group_overlap is no longer available. >>> >>> * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute >>> * RISC-V: Rename vconstraint into group_overlap >>> >>> The below tests are passed for this patch. >>> >>> * The rv64gcv fully regression tests. >>> >>> gcc/ChangeLog: >>> >>> * config/riscv/vector-crypto.md: >>> >>> Signed-off-by: Pan Li <pan2.li@intel.com> >>> --- >>> gcc/config/riscv/vector-crypto.md | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/gcc/config/riscv/vector-crypto.md >>> b/gcc/config/riscv/vector-crypto.md >>> index 519c6a10d94..23dc549e5b8 100755 >>> --- a/gcc/config/riscv/vector-crypto.md >>> +++ b/gcc/config/riscv/vector-crypto.md >>> @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" >>> "vwsll.v%o4\t%0,%3,%4%p1" >>> [(set_attr "type" "vwsll") >>> (set_attr "mode" "<V_DOUBLE_TRUNC>") >>> - (set_attr "group_overlap" >>> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) >>> + (set_attr "vconstraint" >>> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) >>> ;; vbrev.v vbrev8.v vrev8.v >>> (define_insn "@pred_v<rev><mode>"
On Tue, 23 Apr 2024 07:45:03 PDT (-0700), Patrick O'Neill wrote: > Hi Pan, > > Sorry about that. It looks like there was difference between my local > machine and CI machine. > > From the CI it looks like we're back to the failure list we had on friday. > > I'll do some local testing to manually confirm this. Awesome, thanks. In the patchwork meeting, Kito was mentioning possibly wanting to revert some more of these widening ops? If that's still the case we should get something on the lists as soon as we can, it's really late in the cycle already. > > Thanks, > Patrick > > On 4/22/24 23:50, Li, Pan2 wrote: > >> Hi Patrick, >> >> After some investigation and double confirm, I think the gcc.dg/graphite/pr111878.c ice may have nothing to do >> with the patches of revert series as it exists for quit a while. It may related to below commit >> >> 2e7abd09621a4401d44f4513adf126bce4b4828b RISC-V: Block VLSmodes according to TARGET_MAX_LMUL and BITS_PER_RISCV_VECTOR >> >> Could you please help to double check about it *manually*? Here is my step(s) for your reference and I will take care of this failure soon. >> >> ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc --version >> riscv64-unknown-elf-gcc (GCC) 14.0.0 20231205 (experimental) >> Copyright (C) 2023 Free Software Foundation, Inc. >> This is free software; see the source for copying conditions. There is NO >> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. >> >> 1. download isl-0.24, let isl -> /some-where/riscv-gnu-toolchain/gcc/isl-0.24 >> 2. mkdir __BUILD__ && cd __BUILD__ && ../configure \ >> --target=riscv64-unknown-elf \ >> --prefix=${INSTALL_DIR} \ >> --disable-shared \ >> --enable-threads \ >> --enable-tls \ >> --enable-languages=c,c++,fortran \ >> --with-system-zlib \ >> --with-newlib \ >> --disable-libmudflap \ >> --disable-libssp \ >> --disable-libquadmath \ >> --disable-libgomp \ >> --enable-nls \ >> --disable-tm-clone-registry \ >> --src=`pwd`/../ \ >> --with-abi=lp64d \ >> --with-arch=rv64gcv \ >> --with-tune=rocket \ >> --with-isa-spec=20191213 \ >> CFLAGS_FOR_BUILD="-O0 -g" \ >> CXXFLAGS_FOR_BUILD="-O0 -g" \ >> CFLAGS_FOR_TARGET="-O0 -g" \ >> CXXFLAGS_FOR_TARGET="-O0 -g" \ >> BOOT_CFLAGS="-O0 -g" \ >> CFLAGS="-O0 -g" \ >> CXXFLAGS="-O0 -g" \ >> GM2FLAGS_FOR_TARGET="-O0 -g" \ >> GOCFLAGS_FOR_TARGET="-O0 -g" \ >> GDCFLAGS_FOR_TARGET="-O0 -g" >> make -j $(nproc) all-gcc && make install-gcc >> 3. ../__RISC-V_INSTALL___RV64/bin/riscv64-unknown-elf-gcc gcc/testsuite/gcc.dg/graphite/pr111878.c -O3 -fgraphite-identity -fsave-optimization-record -march=rv64gcv -mabi=lp64d -c -S -o - >> >> Pan >> >> -----Original Message----- >> From: Li, Pan2 >> Sent: Tuesday, April 23, 2024 10:32 AM >> To: Patrick O'Neill <patrick@rivosinc.com>; gcc-patches@gcc.gnu.org >> Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com >> Subject: RE: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 >> >> Thanks Patrick. >> >> Turn out that the make report cannot tell the error like below and then the graphite.exp test will never run. >> That explains why I missed test failures, will take care of it ASAP. >> >> sorry, unimplemented: Graphite loop optimizations cannot be used (isl is not available) >> >> Pan >> >> -----Original Message----- >> From: Patrick O'Neill <patrick@rivosinc.com> >> Sent: Tuesday, April 23, 2024 8:32 AM >> To: Li, Pan2 <pan2.li@intel.com>; gcc-patches@gcc.gnu.org >> Cc: juzhe.zhong@rivai.ai; kito.cheng@gmail.com; rdapp.gcc@gmail.com >> Subject: Re: [PATCH v1] RISC-V: Adjust overlap attr after revert d3544cea63d and e65aaf8efe1 >> >> This patch in particular does not cause any more regressions. It's one >> of the other reverts from the weekend. >> >> Before the reverts [1]: >> | gcc | >> g++ | gfortran | >> rv64gcv/ lp64d/ medlow | 48/ 32 | 12/ 3| 12 / 2 >> >> After the reverts: >> | gcc | >> g++ | gfortran | >> rv64gcv/ lp64d/ medlow | 50 / 33 | 12 / 3 | 26 / 7 | >> >> >> gcc new fails: >> FAIL: gcc.dg/graphite/pr111878.c (internal compiler error: in >> extract_insn, at recog.cc:2812) >> FAIL: gcc.dg/graphite/pr111878.c (test for excess errors) >> >> gfortran new fails: >> FAIL: gfortran.dg/graphite/id-27.f90 -O (internal compiler error: in >> extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/id-27.f90 -O (test for excess errors) >> FAIL: gfortran.dg/graphite/pr14741.f90 -O (internal compiler error: >> in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/pr14741.f90 -O (test for excess errors) >> FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer >> -funroll-loops -fpeel-loops -ftracer -finline-functions (internal >> compiler error: in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -fomit-frame-pointer >> -funroll-loops -fpeel-loops -ftracer -finline-functions (test for >> excess errors) >> FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (internal compiler >> error: in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/pr29581.f90 -O3 -g (test for excess errors) >> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer >> -funroll-loops -fpeel-loops -ftracer -finline-functions (internal >> compiler error: in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer >> -funroll-loops -fpeel-loops -ftracer -finline-functions (test for >> excess errors) >> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (internal compiler >> error: in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -g (test for excess errors) >> FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (internal compiler >> error: in extract_insn, at recog.cc:2812) >> FAIL: gfortran.dg/graphite/vect-pr40979.f90 -O (test for excess errors) >> >> >> For future reference, the precommit does not do well with many unrelated >> patches that are dependent on eachother. >> In the future sending these as a series would allow precommit to >> properly test them (as always you can see the testing results on >> patchworks). >> >> Thanks, >> Patrick >> >> [1] https://github.com/patrick-rivos/gcc-postcommit-ci/issues/801 >> >> On 4/22/24 12:55, Patrick O'Neill wrote: >>> Hi Pan, >>> >>> I was running the testsuite for this and noticed an ICE scroll by when >>> this patch is applied to cacc55a4c0be8d0bc7417b6a28924eadbbe428e3 for >>> rv64gcv: >>> >>> FAIL: gfortran.dg/graphite/pr29832.f90 -O3 -fomit-frame-pointer >>> -funroll-loops -fpeel-loops -ftracer -finline-functions (internal >>> compiler error: in extract_insn, at recog.cc:2812) >>> >>> I'll send the full list of new failures once the runs finish. >>> >>> Thanks, >>> Patrick >>> >>> On 4/22/24 06:47, pan2.li@intel.com wrote: >>>> From: Pan Li <pan2.li@intel.com> >>>> >>>> After we reverted below 2 commits, the reference to attr need some >>>> adjustment as the group_overlap is no longer available. >>>> >>>> * RISC-V: Robostify the W43, W86, W87 constraint enabled attribute >>>> * RISC-V: Rename vconstraint into group_overlap >>>> >>>> The below tests are passed for this patch. >>>> >>>> * The rv64gcv fully regression tests. >>>> >>>> gcc/ChangeLog: >>>> >>>> * config/riscv/vector-crypto.md: >>>> >>>> Signed-off-by: Pan Li <pan2.li@intel.com> >>>> --- >>>> gcc/config/riscv/vector-crypto.md | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/gcc/config/riscv/vector-crypto.md >>>> b/gcc/config/riscv/vector-crypto.md >>>> index 519c6a10d94..23dc549e5b8 100755 >>>> --- a/gcc/config/riscv/vector-crypto.md >>>> +++ b/gcc/config/riscv/vector-crypto.md >>>> @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" >>>> "vwsll.v%o4\t%0,%3,%4%p1" >>>> [(set_attr "type" "vwsll") >>>> (set_attr "mode" "<V_DOUBLE_TRUNC>") >>>> - (set_attr "group_overlap" >>>> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) >>>> + (set_attr "vconstraint" >>>> "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) >>>> ;; vbrev.v vbrev8.v vrev8.v >>>> (define_insn "@pred_v<rev><mode>"
diff --git a/gcc/config/riscv/vector-crypto.md b/gcc/config/riscv/vector-crypto.md index 519c6a10d94..23dc549e5b8 100755 --- a/gcc/config/riscv/vector-crypto.md +++ b/gcc/config/riscv/vector-crypto.md @@ -322,7 +322,7 @@ (define_insn "@pred_vwsll<mode>_scalar" "vwsll.v%o4\t%0,%3,%4%p1" [(set_attr "type" "vwsll") (set_attr "mode" "<V_DOUBLE_TRUNC>") - (set_attr "group_overlap" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,none,none")]) + (set_attr "vconstraint" "W21,W21,W21,W21,W42,W42,W42,W42,W84,W84,W84,W84,no,no")]) ;; vbrev.v vbrev8.v vrev8.v (define_insn "@pred_v<rev><mode>"