public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
@ 2023-09-07  7:28 Juzhe-Zhong
  2023-09-11  3:42 ` juzhe.zhong
  0 siblings, 1 reply; 6+ messages in thread
From: Juzhe-Zhong @ 2023-09-07  7:28 UTC (permalink / raw)
  To: gcc-patches; +Cc: kito.cheng, kito.cheng, jeffreyalaw, rdapp.gcc, Juzhe-Zhong

This patch is not ready but they all will be fixed very soon.

gcc/ChangeLog:

	* config/riscv/riscv.opt: Set default as scalable vectorization.

---
 gcc/config/riscv/riscv.opt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
index 98f342348b7..bf2eca08221 100644
--- a/gcc/config/riscv/riscv.opt
+++ b/gcc/config/riscv/riscv.opt
@@ -292,7 +292,7 @@ EnumValue
 Enum(riscv_autovec_preference) String(fixed-vlmax) Value(RVV_FIXED_VLMAX)
 
 -param=riscv-autovec-preference=
-Target RejectNegative Joined Enum(riscv_autovec_preference) Var(riscv_autovec_preference) Init(NO_AUTOVEC)
+Target RejectNegative Joined Enum(riscv_autovec_preference) Var(riscv_autovec_preference) Init(RVV_SCALABLE)
 -param=riscv-autovec-preference=<string>	Set the preference of auto-vectorization in the RISC-V port.
 
 Enum
-- 
2.36.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
  2023-09-07  7:28 [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311] Juzhe-Zhong
@ 2023-09-11  3:42 ` juzhe.zhong
  2023-09-11 13:12   ` Jeff Law
  0 siblings, 1 reply; 6+ messages in thread
From: juzhe.zhong @ 2023-09-11  3:42 UTC (permalink / raw)
  To: 钟居哲, gcc-patches
  Cc: kito.cheng, Kito.cheng, jeffreyalaw, Robin Dapp

[-- Attachment #1: Type: text/plain, Size: 5058 bytes --]

Ping this patch.

I think it's time to enable scalable vectorization by default and do the whole regression every time (except vect.exp that we didn't enable yet)

Update current FAILs status:

Real FAILS (ICE and execution FAIL):

FAIL: gcc.dg/pr70252.c (internal compiler error: in gimple_expand_vec_cond_expr, at gimple-isel.cc:284)
FAIL: gcc.dg/pr70252.c (test for excess errors)
FAIL: gcc.dg/pr92301.c execution test

Robin is working on these 3 issues and will be solved soon.

FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error: in as_a, at machmode.h:381)
FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error: in as_a, at machmode.h:381)
FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
This is a long time known issue I have mentioned many times, we need help for LTO since it's caused by mode bits extension.

The rest bogus FAILs:
FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "Not unrolling loop, doesn't roll"
FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "likely upper bound: 6"
FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "realistic bound: -1"
FAIL: gcc.dg/var-expand1.c scan-rtl-dump loop2_unroll "Expanding Accumulator"
FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump cunroll "optimized: loop with [0-9]+ iterations completely unrolled"
FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump-not optimized "foo"
FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized "BIT_FIELD_REF" 0
FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized "BIT_INSERT_EXPR" 0
FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized "BIT_FIELD_REF" 0
FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized "BIT_INSERT_EXPR" 1
FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect "vectorized 0 loops" 1
FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect "vectorized 0 loops" 1
FAIL: gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL: gcc.dg/tree-ssa/gen-vect-28.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1
FAIL: gcc.dg/tree-ssa/loop-bound-1.c scan-tree-dump ivopts "bounded by 254"
FAIL: gcc.dg/tree-ssa/loop-bound-2.c scan-tree-dump ivopts "bounded by 254"
FAIL: gcc.dg/tree-ssa/predcom-2.c scan-tree-dump-times pcom "Unrolling 2 times." 2
FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Combination" 1
FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Unrolling 3 times." 1
FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Combination" 2
FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Unrolling 3 times." 1
FAIL: gcc.dg/tree-ssa/predcom-9.c scan-tree-dump pcom "Executing predictive commoning without unrolling"
FAIL: gcc.dg/tree-ssa/reassoc-46.c scan-tree-dump-times optimized "(?:vect_)?sum_[\\d._]+ = (?:(?:vect_)?_[\\d._]+ \\+ (?:vect_)?sum_[\\d._]+|(?:v   ect_)?sum_[\\d._]+ \\+ (?:vect_)?_[\\d._]+)" 1
FAIL: gcc.dg/tree-ssa/scev-10.c scan-tree-dump-times ivopts "  Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/tree-ssa/scev-11.c scan-tree-dump-times ivopts "  Type:\\tREFERENCE ADDRESS\n" 2
FAIL: gcc.dg/tree-ssa/scev-14.c scan-tree-dump ivopts "Overflowness wrto loop niter:\tNo-overflow"
FAIL: gcc.dg/tree-ssa/scev-9.c scan-tree-dump-times ivopts "  Type:\\tREFERENCE ADDRESS\n" 1
FAIL: gcc.dg/tree-ssa/split-path-11.c scan-tree-dump-times split-paths "join point for if-convertable half-diamond" 1

These are bogus dump FAILs and I have 100% confirm each of them, we are having same behavior as SVE.

So is this patch ok for trunk ?



juzhe.zhong@rivai.ai
 
From: Juzhe-Zhong
Date: 2023-09-07 15:28
To: gcc-patches
CC: kito.cheng; kito.cheng; jeffreyalaw; rdapp.gcc; Juzhe-Zhong
Subject: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
This patch is not ready but they all will be fixed very soon.
 
gcc/ChangeLog:
 
* config/riscv/riscv.opt: Set default as scalable vectorization.
 
---
gcc/config/riscv/riscv.opt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
 
diff --git a/gcc/config/riscv/riscv.opt b/gcc/config/riscv/riscv.opt
index 98f342348b7..bf2eca08221 100644
--- a/gcc/config/riscv/riscv.opt
+++ b/gcc/config/riscv/riscv.opt
@@ -292,7 +292,7 @@ EnumValue
Enum(riscv_autovec_preference) String(fixed-vlmax) Value(RVV_FIXED_VLMAX)
-param=riscv-autovec-preference=
-Target RejectNegative Joined Enum(riscv_autovec_preference) Var(riscv_autovec_preference) Init(NO_AUTOVEC)
+Target RejectNegative Joined Enum(riscv_autovec_preference) Var(riscv_autovec_preference) Init(RVV_SCALABLE)
-param=riscv-autovec-preference=<string> Set the preference of auto-vectorization in the RISC-V port.
Enum
-- 
2.36.3
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
  2023-09-11  3:42 ` juzhe.zhong
@ 2023-09-11 13:12   ` Jeff Law
  2023-09-11 13:22     ` Li, Pan2
  2023-09-30 22:42     ` Vineet Gupta
  0 siblings, 2 replies; 6+ messages in thread
From: Jeff Law @ 2023-09-11 13:12 UTC (permalink / raw)
  To: juzhe.zhong, gcc-patches; +Cc: kito.cheng, Kito.cheng, Robin Dapp



On 9/10/23 21:42, juzhe.zhong@rivai.ai wrote:
> Ping this patch.
> 
> I think it's time to enable scalable vectorization by default and do the 
> whole regression every time (except vect.exp that we didn't enable yet)
> 
> Update current FAILs status:
> 
> Real FAILS (ICE and execution FAIL):
> 
> FAIL: gcc.dg/pr70252.c (internal compiler error: in 
> gimple_expand_vec_cond_expr, at gimple-isel.cc:284)
> FAIL: gcc.dg/pr70252.c (test for excess errors)
> FAIL: gcc.dg/pr92301.c execution test
> 
> Robin is working on these 3 issues and will be solved soon.
> 
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error: in as_a, at machmode.h:381)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error: in as_a, at machmode.h:381)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
> 
> This is a long time known issue I have mentioned many times, we need 
> help for LTO since it's caused by mode bits extension.
> 
> The rest bogus FAILs:
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "Not unrolling loop, 
> doesn't roll"
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "likely upper bound: 6"
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "realistic bound: -1"
> FAIL: gcc.dg/var-expand1.c scan-rtl-dump loop2_unroll "Expanding 
> Accumulator"
> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump cunroll "optimized: 
> loop with [0-9]+ iterations completely unrolled"
> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump-not optimized "foo"
> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
> "BIT_FIELD_REF" 0
> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
> "BIT_INSERT_EXPR" 0
> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
> "BIT_FIELD_REF" 0
> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
> "BIT_INSERT_EXPR" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect 
> "vectorized 0 loops" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect 
> "vectorized 0 loops" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect "Alignment 
> of access forced using peeling" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-28.c scan-tree-dump-times vect "Alignment 
> of access forced using peeling" 1
> FAIL: gcc.dg/tree-ssa/loop-bound-1.c scan-tree-dump ivopts "bounded by 254"
> FAIL: gcc.dg/tree-ssa/loop-bound-2.c scan-tree-dump ivopts "bounded by 254"
> FAIL: gcc.dg/tree-ssa/predcom-2.c scan-tree-dump-times pcom "Unrolling 2 
> times." 2
> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Combination" 1
> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Unrolling 3 
> times." 1
> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Combination" 2
> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Unrolling 3 
> times." 1
> FAIL: gcc.dg/tree-ssa/predcom-9.c scan-tree-dump pcom "Executing 
> predictive commoning without unrolling"
> FAIL: gcc.dg/tree-ssa/reassoc-46.c scan-tree-dump-times optimized 
> "(?:vect_)?sum_[\\d._]+ = (?:(?:vect_)?_[\\d._]+ \\+ 
> (?:vect_)?sum_[\\d._]+|(?:v   ect_)?sum_[\\d._]+ \\+ (?:vect_)?_[\\d._]+)" 1
> FAIL: gcc.dg/tree-ssa/scev-10.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 1
> FAIL: gcc.dg/tree-ssa/scev-11.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 2
> FAIL: gcc.dg/tree-ssa/scev-14.c scan-tree-dump ivopts "Overflowness wrto 
> loop niter:\tNo-overflow"
> FAIL: gcc.dg/tree-ssa/scev-9.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 1
> FAIL: gcc.dg/tree-ssa/split-path-11.c scan-tree-dump-times split-paths 
> "join point for if-convertable half-diamond" 1
> 
> These are bogus dump FAILs and I have 100% confirm each of them, we are 
> having same behavior as SVE.
> 
> So is this patch ok for trunk ?
Yes, this is OK for the trunk.

Jeff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
  2023-09-11 13:12   ` Jeff Law
@ 2023-09-11 13:22     ` Li, Pan2
  2023-09-30 22:42     ` Vineet Gupta
  1 sibling, 0 replies; 6+ messages in thread
From: Li, Pan2 @ 2023-09-11 13:22 UTC (permalink / raw)
  To: Jeff Law, juzhe.zhong, gcc-patches; +Cc: Kito.cheng, kito.cheng

Committed, thanks Jeff.

Pan

-----Original Message-----
From: Gcc-patches <gcc-patches-bounces+pan2.li=intel.com@gcc.gnu.org> On Behalf Of Jeff Law via Gcc-patches
Sent: Monday, September 11, 2023 9:12 PM
To: juzhe.zhong@rivai.ai; gcc-patches <gcc-patches@gcc.gnu.org>
Cc: Kito.cheng <kito.cheng@sifive.com>; kito.cheng <kito.cheng@gmail.com>
Subject: Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]



On 9/10/23 21:42, juzhe.zhong@rivai.ai wrote:
> Ping this patch.
> 
> I think it's time to enable scalable vectorization by default and do the 
> whole regression every time (except vect.exp that we didn't enable yet)
> 
> Update current FAILs status:
> 
> Real FAILS (ICE and execution FAIL):
> 
> FAIL: gcc.dg/pr70252.c (internal compiler error: in 
> gimple_expand_vec_cond_expr, at gimple-isel.cc:284)
> FAIL: gcc.dg/pr70252.c (test for excess errors)
> FAIL: gcc.dg/pr92301.c execution test
> 
> Robin is working on these 3 issues and will be solved soon.
> 
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (internal compiler error: in as_a, at machmode.h:381)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin -flto-partition=none  (test for excess errors)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (internal compiler error: in as_a, at machmode.h:381)
> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects  (test for excess errors)
> 
> This is a long time known issue I have mentioned many times, we need 
> help for LTO since it's caused by mode bits extension.
> 
> The rest bogus FAILs:
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "Not unrolling loop, 
> doesn't roll"
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "likely upper bound: 6"
> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "realistic bound: -1"
> FAIL: gcc.dg/var-expand1.c scan-rtl-dump loop2_unroll "Expanding 
> Accumulator"
> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump cunroll "optimized: 
> loop with [0-9]+ iterations completely unrolled"
> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump-not optimized "foo"
> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
> "BIT_FIELD_REF" 0
> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
> "BIT_INSERT_EXPR" 0
> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
> "BIT_FIELD_REF" 0
> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
> "BIT_INSERT_EXPR" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect 
> "vectorized 0 loops" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect 
> "vectorized 0 loops" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect "Alignment 
> of access forced using peeling" 1
> FAIL: gcc.dg/tree-ssa/gen-vect-28.c scan-tree-dump-times vect "Alignment 
> of access forced using peeling" 1
> FAIL: gcc.dg/tree-ssa/loop-bound-1.c scan-tree-dump ivopts "bounded by 254"
> FAIL: gcc.dg/tree-ssa/loop-bound-2.c scan-tree-dump ivopts "bounded by 254"
> FAIL: gcc.dg/tree-ssa/predcom-2.c scan-tree-dump-times pcom "Unrolling 2 
> times." 2
> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Combination" 1
> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom "Unrolling 3 
> times." 1
> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Combination" 2
> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom "Unrolling 3 
> times." 1
> FAIL: gcc.dg/tree-ssa/predcom-9.c scan-tree-dump pcom "Executing 
> predictive commoning without unrolling"
> FAIL: gcc.dg/tree-ssa/reassoc-46.c scan-tree-dump-times optimized 
> "(?:vect_)?sum_[\\d._]+ = (?:(?:vect_)?_[\\d._]+ \\+ 
> (?:vect_)?sum_[\\d._]+|(?:v   ect_)?sum_[\\d._]+ \\+ (?:vect_)?_[\\d._]+)" 1
> FAIL: gcc.dg/tree-ssa/scev-10.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 1
> FAIL: gcc.dg/tree-ssa/scev-11.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 2
> FAIL: gcc.dg/tree-ssa/scev-14.c scan-tree-dump ivopts "Overflowness wrto 
> loop niter:\tNo-overflow"
> FAIL: gcc.dg/tree-ssa/scev-9.c scan-tree-dump-times ivopts " 
>   Type:\\tREFERENCE ADDRESS\n" 1
> FAIL: gcc.dg/tree-ssa/split-path-11.c scan-tree-dump-times split-paths 
> "join point for if-convertable half-diamond" 1
> 
> These are bogus dump FAILs and I have 100% confirm each of them, we are 
> having same behavior as SVE.
> 
> So is this patch ok for trunk ?
Yes, this is OK for the trunk.

Jeff

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
  2023-09-11 13:12   ` Jeff Law
  2023-09-11 13:22     ` Li, Pan2
@ 2023-09-30 22:42     ` Vineet Gupta
  2023-09-30 22:58       ` 钟居哲
  1 sibling, 1 reply; 6+ messages in thread
From: Vineet Gupta @ 2023-09-30 22:42 UTC (permalink / raw)
  To: Jeff Law, juzhe.zhong, gcc-patches; +Cc: Kito.cheng, kito.cheng



On 9/11/23 06:12, Jeff Law via Gcc-patches wrote:
>
>
> On 9/10/23 21:42, juzhe.zhong@rivai.ai wrote:
>> Ping this patch.
>>
>> I think it's time to enable scalable vectorization by default and do 
>> the whole regression every time (except vect.exp that we didn't 
>> enable yet)
>>
>> Update current FAILs status:
>>
>> Real FAILS (ICE and execution FAIL):
>>
>> FAIL: gcc.dg/pr70252.c (internal compiler error: in 
>> gimple_expand_vec_cond_expr, at gimple-isel.cc:284)
>> FAIL: gcc.dg/pr70252.c (test for excess errors)
>> FAIL: gcc.dg/pr92301.c execution test
>>
>> Robin is working on these 3 issues and will be solved soon.
>>
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin 
>> -flto-partition=none  (internal compiler error: in as_a, at 
>> machmode.h:381)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin 
>> -flto-partition=none  (test for excess errors)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin 
>> -fno-fat-lto-objects  (internal compiler error: in as_a, at 
>> machmode.h:381)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin 
>> -fno-fat-lto-objects  (test for excess errors)
>>
>> This is a long time known issue I have mentioned many times, we need 
>> help for LTO since it's caused by mode bits extension.
>>
>> The rest bogus FAILs:
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "Not unrolling 
>> loop, doesn't roll"
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "likely upper 
>> bound: 6"
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "realistic bound: -1"
>> FAIL: gcc.dg/var-expand1.c scan-rtl-dump loop2_unroll "Expanding 
>> Accumulator"
>> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump cunroll "optimized: 
>> loop with [0-9]+ iterations completely unrolled"
>> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump-not optimized "foo"
>> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
>> "BIT_FIELD_REF" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
>> "BIT_INSERT_EXPR" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
>> "BIT_FIELD_REF" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
>> "BIT_INSERT_EXPR" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect 
>> "vectorized 0 loops" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect 
>> "vectorized 0 loops" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect 
>> "Alignment of access forced using peeling" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-28.c scan-tree-dump-times vect 
>> "Alignment of access forced using peeling" 1
>> FAIL: gcc.dg/tree-ssa/loop-bound-1.c scan-tree-dump ivopts "bounded 
>> by 254"
>> FAIL: gcc.dg/tree-ssa/loop-bound-2.c scan-tree-dump ivopts "bounded 
>> by 254"
>> FAIL: gcc.dg/tree-ssa/predcom-2.c scan-tree-dump-times pcom 
>> "Unrolling 2 times." 2
>> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom 
>> "Combination" 1
>> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom 
>> "Unrolling 3 times." 1
>> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom 
>> "Combination" 2
>> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom 
>> "Unrolling 3 times." 1
>> FAIL: gcc.dg/tree-ssa/predcom-9.c scan-tree-dump pcom "Executing 
>> predictive commoning without unrolling"
>> FAIL: gcc.dg/tree-ssa/reassoc-46.c scan-tree-dump-times optimized 
>> "(?:vect_)?sum_[\\d._]+ = (?:(?:vect_)?_[\\d._]+ \\+ 
>> (?:vect_)?sum_[\\d._]+|(?:v   ect_)?sum_[\\d._]+ \\+ 
>> (?:vect_)?_[\\d._]+)" 1
>> FAIL: gcc.dg/tree-ssa/scev-10.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 1
>> FAIL: gcc.dg/tree-ssa/scev-11.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 2
>> FAIL: gcc.dg/tree-ssa/scev-14.c scan-tree-dump ivopts "Overflowness 
>> wrto loop niter:\tNo-overflow"
>> FAIL: gcc.dg/tree-ssa/scev-9.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 1
>> FAIL: gcc.dg/tree-ssa/split-path-11.c scan-tree-dump-times 
>> split-paths "join point for if-convertable half-diamond" 1
>>
>> These are bogus dump FAILs and I have 100% confirm each of them, we 
>> are having same behavior as SVE.
>>
>> So is this patch ok for trunk ?
> Yes, this is OK for the trunk.

Our internal SPEC regressions as of yesterday's tip are still failing 
due to this commit.
     2023-09-28 8552dcd8e444 Revert "[RA]: Improve cost calculation of 
pseudos with equivalences"

Is there a plan for addressing the blocker issues above anytime soon ?

Thx,
-Vineet


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
  2023-09-30 22:42     ` Vineet Gupta
@ 2023-09-30 22:58       ` 钟居哲
  0 siblings, 0 replies; 6+ messages in thread
From: 钟居哲 @ 2023-09-30 22:58 UTC (permalink / raw)
  To: vineetg, Jeff Law, gcc-patches; +Cc: kito.cheng, kito.cheng

[-- Attachment #1: Type: text/plain, Size: 5558 bytes --]

Trunk GCC still has some bugs need to be addressed.

A few issues are middld-end related to COND_LEN_xxx (Robin has sent a patch but waiting for Richard's review).
A few issues are VSETVL PASS (Lehua is working on refactoring and cleanup up the VSETVL PASS to address all potential issues of VSETVL PASS).
Li Pan @intel plans to start to run various benchmark (Eigen,mlpef, SPEC,...etc) to fix issues.
Also, we are planning to enable full coverage of ”vect.exp“ to see whether there are still some other bugs.

We are on long vacation (Chinese) and we will start to do after the vacation.

Thanks.


juzhe.zhong@rivai.ai
 
From: Vineet Gupta
Date: 2023-10-01 06:42
To: Jeff Law; juzhe.zhong@rivai.ai; gcc-patches
CC: Kito.cheng; kito.cheng
Subject: Re: [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311]
 
 
On 9/11/23 06:12, Jeff Law via Gcc-patches wrote:
>
>
> On 9/10/23 21:42, juzhe.zhong@rivai.ai wrote:
>> Ping this patch.
>>
>> I think it's time to enable scalable vectorization by default and do 
>> the whole regression every time (except vect.exp that we didn't 
>> enable yet)
>>
>> Update current FAILs status:
>>
>> Real FAILS (ICE and execution FAIL):
>>
>> FAIL: gcc.dg/pr70252.c (internal compiler error: in 
>> gimple_expand_vec_cond_expr, at gimple-isel.cc:284)
>> FAIL: gcc.dg/pr70252.c (test for excess errors)
>> FAIL: gcc.dg/pr92301.c execution test
>>
>> Robin is working on these 3 issues and will be solved soon.
>>
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin 
>> -flto-partition=none  (internal compiler error: in as_a, at 
>> machmode.h:381)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fno-use-linker-plugin 
>> -flto-partition=none  (test for excess errors)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin 
>> -fno-fat-lto-objects  (internal compiler error: in as_a, at 
>> machmode.h:381)
>> FAIL: g++.dg/torture/vshuf-v4df.C   -O2 -flto -fuse-linker-plugin 
>> -fno-fat-lto-objects  (test for excess errors)
>>
>> This is a long time known issue I have mentioned many times, we need 
>> help for LTO since it's caused by mode bits extension.
>>
>> The rest bogus FAILs:
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "Not unrolling 
>> loop, doesn't roll"
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "likely upper 
>> bound: 6"
>> FAIL: gcc.dg/unroll-8.c scan-rtl-dump loop2_unroll "realistic bound: -1"
>> FAIL: gcc.dg/var-expand1.c scan-rtl-dump loop2_unroll "Expanding 
>> Accumulator"
>> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump cunroll "optimized: 
>> loop with [0-9]+ iterations completely unrolled"
>> FAIL: gcc.dg/tree-ssa/cunroll-16.c scan-tree-dump-not optimized "foo"
>> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
>> "BIT_FIELD_REF" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-40.c scan-tree-dump-times optimized 
>> "BIT_INSERT_EXPR" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
>> "BIT_FIELD_REF" 0
>> FAIL: gcc.dg/tree-ssa/forwprop-41.c scan-tree-dump-times optimized 
>> "BIT_INSERT_EXPR" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-11b.c scan-tree-dump-times vect 
>> "vectorized 0 loops" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-11c.c scan-tree-dump-times vect 
>> "vectorized 0 loops" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-26.c scan-tree-dump-times vect 
>> "Alignment of access forced using peeling" 1
>> FAIL: gcc.dg/tree-ssa/gen-vect-28.c scan-tree-dump-times vect 
>> "Alignment of access forced using peeling" 1
>> FAIL: gcc.dg/tree-ssa/loop-bound-1.c scan-tree-dump ivopts "bounded 
>> by 254"
>> FAIL: gcc.dg/tree-ssa/loop-bound-2.c scan-tree-dump ivopts "bounded 
>> by 254"
>> FAIL: gcc.dg/tree-ssa/predcom-2.c scan-tree-dump-times pcom 
>> "Unrolling 2 times." 2
>> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom 
>> "Combination" 1
>> FAIL: gcc.dg/tree-ssa/predcom-4.c scan-tree-dump-times pcom 
>> "Unrolling 3 times." 1
>> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom 
>> "Combination" 2
>> FAIL: gcc.dg/tree-ssa/predcom-5.c scan-tree-dump-times pcom 
>> "Unrolling 3 times." 1
>> FAIL: gcc.dg/tree-ssa/predcom-9.c scan-tree-dump pcom "Executing 
>> predictive commoning without unrolling"
>> FAIL: gcc.dg/tree-ssa/reassoc-46.c scan-tree-dump-times optimized 
>> "(?:vect_)?sum_[\\d._]+ = (?:(?:vect_)?_[\\d._]+ \\+ 
>> (?:vect_)?sum_[\\d._]+|(?:v   ect_)?sum_[\\d._]+ \\+ 
>> (?:vect_)?_[\\d._]+)" 1
>> FAIL: gcc.dg/tree-ssa/scev-10.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 1
>> FAIL: gcc.dg/tree-ssa/scev-11.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 2
>> FAIL: gcc.dg/tree-ssa/scev-14.c scan-tree-dump ivopts "Overflowness 
>> wrto loop niter:\tNo-overflow"
>> FAIL: gcc.dg/tree-ssa/scev-9.c scan-tree-dump-times ivopts " 
>>   Type:\\tREFERENCE ADDRESS\n" 1
>> FAIL: gcc.dg/tree-ssa/split-path-11.c scan-tree-dump-times 
>> split-paths "join point for if-convertable half-diamond" 1
>>
>> These are bogus dump FAILs and I have 100% confirm each of them, we 
>> are having same behavior as SVE.
>>
>> So is this patch ok for trunk ?
> Yes, this is OK for the trunk.
 
Our internal SPEC regressions as of yesterday's tip are still failing 
due to this commit.
    2023-09-28 8552dcd8e444 Revert "[RA]: Improve cost calculation of 
pseudos with equivalences"
 
Is there a plan for addressing the blocker issues above anytime soon ?
 
Thx,
-Vineet
 
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-09-30 22:58 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-07  7:28 [PATCH] RISC-V: Enable RVV scalable vectorization by default[PR111311] Juzhe-Zhong
2023-09-11  3:42 ` juzhe.zhong
2023-09-11 13:12   ` Jeff Law
2023-09-11 13:22     ` Li, Pan2
2023-09-30 22:42     ` Vineet Gupta
2023-09-30 22:58       ` 钟居哲

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).