RFR: 8302908: RISC-V: Support masked vector arithmetic instructions for Vector API [v12]

Dingli Zhang dzhang at openjdk.org
Thu Apr 6 16:45:16 UTC 2023


On Thu, 6 Apr 2023 09:56:49 GMT, Pengfei Li <pli at openjdk.org> wrote:

>> Dingli Zhang has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix comment
>
> src/hotspot/cpu/riscv/riscv_v.ad line 2422:
> 
>> 2420: %}
>> 2421: 
>> 2422: instruct vmask_gen_I(vRegMask dst, iRegI src) %{
> 
> Just a reminder that your following new rules will enable array operations partial inlining. Have you tested this feature on RISC-V?

Thanks for the reminder. From the tests so far, `ByteMaxVectorTests`[1] can pass and generate `VectorMaskGen` node as follows:

0b2e    B70: #	out( B103 B71 ) <- in( B68 )  Freq: 9.13565
0b2e    spill R7 -> [sp, #320]	# spill size = 64
0b30    vmask_gen_L V0, R7
0b38    vstoremask V6, V0
0b44    ld  R30, [R23, #264]	# ptr, #@loadP
0b48    ld  R7, [R23, #280]	# ptr, #@loadP
0b4c    addi  R28, R30, #80	# ptr, #@addP_reg_imm
0b50    bgeu  R28, R7, B103	#@cmpP_branch  P=0.000100 C=-1.000000

We will evaluate this feature next. 

[1] https://github.com/openjdk/jdk/tree/master/test/jdk/jdk/incubator/vector/ByteMaxVectorTests.java

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

PR Review Comment: https://git.openjdk.org/jdk/pull/12682#discussion_r1160033082


More information about the hotspot-compiler-dev mailing list