RFR: 8321014: RISC-V: C2 VectorLoadShuffle [v2]

Hamlin Li mli at openjdk.org
Mon Apr 22 14:45:45 UTC 2024


On Mon, 22 Apr 2024 07:05:17 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   add comment
>
> src/hotspot/cpu/riscv/riscv_v.ad line 3581:
> 
>> 3579:   predicate(Matcher::vector_element_basic_type(n) == T_BYTE);
>> 3580:   match(Set dst (VectorLoadShuffle dst));
>> 3581:   effect(TEMP_DEF dst);
> 
> Seems no need to add a `TEMP_DEF` for `dst` here.

fixed, thanks for catching.

> src/hotspot/cpu/riscv/riscv_v.ad line 3586:
> 
>> 3584:     // For T_BYTE, no need to do anything
>> 3585:   %}
>> 3586:   ins_pipe(pipe_slow);
> 
> I think `pipe_class_empty` is better since this emits nothing at all.

fixed, thanks for catching.

> src/hotspot/cpu/riscv/riscv_v.ad line 3602:
> 
>> 3600:     __ vsetvli_helper(bt, Matcher::vector_length(this));
>> 3601:     if (bt == T_SHORT) {
>> 3602:       __ vsext_vf2(as_VectorRegister($dst$$reg), as_VectorRegister($src$$reg));
> 
> I prefer `vzext_vf2/4/8` which does zero extension for the source indexes of the vector shuffle.

done.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/18835#discussion_r1574880243
PR Review Comment: https://git.openjdk.org/jdk/pull/18835#discussion_r1574880227
PR Review Comment: https://git.openjdk.org/jdk/pull/18835#discussion_r1574880469


More information about the hotspot-compiler-dev mailing list