On 3/1/24 12:48 AM, 钟居哲 wrote:
Hi, han. I understand you are trying to support optimize vector-
splat_vector into vector-scalar in "expand" stage, that is,
vv -> vx or vv -> vf.
It's a known issue that we know for a long time.
This patch is trying to transform vv->vf when the splat vector
] RISC-V: Support vmfxx.vf for autovec comparison of
vec and imm
Yes. I think we are lacking some combine patterns to do all vector-scalar
combinations.
If you are interested at this topic, you can do some investigations on that (I
believe currently no body works on it for now).
I bet we should
: (vec_duplicate) (reg)))
juzhe.zh...@rivai.ai
From: Demin Han
Date: 2024-03-05 16:40
To: 钟居哲; gcc-patches
CC: kito.cheng; Li, Pan2; jeffreyalaw; Robin Dapp; richard.sandiford
Subject: RE: Re:[PATCH 3/5] RISC-V: Support vmfxx.vf for autovec comparison of
vec and imm
Hi,
I applied the
Hi,
I applied the mentioned last_combine
patch(https://patchwork.ozlabs.org/project/gcc/patch/mptbka7em9w@arm.com/).
And did some initial tests.
Found that:
1. Float vector-scalar and vector-imm are OK
2. Integer vector-scalar is OK
3. Integer vector-imm(e.g. a[i] > 16) is
Sent: 2024年3月1日 15:49
To: Demin Han ; gcc-patches
Cc: kito.cheng ; Li, Pan2 ;
jeffreyalaw ; Robin Dapp ;
richard.sandiford
Subject: Re:[PATCH 3/5] RISC-V: Support vmfxx.vf for autovec comparison of vec
and imm
Hi, han. I understand you are trying to support optimize vector-splat_vector
into
Hi, han. I understand you are trying to support optimize vector-splat_vector
into vector-scalar in "expand" stage, that is,
vv -> vx or vv -> vf.
It's a known issue that we know for a long time.
This patch is trying to transform vv->vf when the splat vector is duplicate
from a constant (by
Currently, following instructions generated in autovector:
flw
vsetvli
vfmv.v.f
...
vmfxx.vv
Two issues:
1. Additional vsetvl and vfmv instructions
2. Occupy one vector register and may results in smaller lmul
We expect:
flw
...
vmfxx.vf
Tested on RV32 and RV64