OK, I will solve the comparison operation first and then do some check over 
other operations.



Regards,

Demin


From: [email protected] <[email protected]>
Sent: 2024年3月5日 17:02
To: Demin Han <[email protected]>; gcc-patches 
<[email protected]>
Cc: kito.cheng <[email protected]>; pan2.li <[email protected]>; jeffreyalaw 
<[email protected]>; Robin Dapp <[email protected]>; richard.sandiford 
<[email protected]>
Subject: Re: RE:[PATCH 3/5] 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 add some patterns for late-combine PASS for example:

(set (plus : (vec_duplicate) (reg)))

________________________________
[email protected]<mailto:[email protected]>

From: Demin Han<mailto:[email protected]>
Date: 2024-03-05 16:40
To: 钟居哲<mailto:[email protected]>; 
gcc-patches<mailto:[email protected]>
CC: kito.cheng<mailto:[email protected]>; Li, 
Pan2<mailto:[email protected]>; jeffreyalaw<mailto:[email protected]>; 
Robin Dapp<mailto:[email protected]>; 
richard.sandiford<mailto:[email protected]>
Subject: RE: Re:[PATCH 3/5] RISC-V: Support vmfxx.vf for autovec comparison of 
vec and imm
Hi,

I applied the mentioned last_combine 
patch(https://patchwork.ozlabs.org/project/gcc/patch/[email protected]/).
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 not OK.

When reaches last_combine pass, vec_duplicate(0x10) form is still kept, but no 
pattern match this now,

because  all scalar patterns  have “register_operand” predication.


I think MD file or expand function of rvv need to change for this situation.

Regards,
Demin

Reply via email to