On Wed, 22 Jul 2026 11:24:30 GMT, Jatin Bhateja <[email protected]> wrote:

>> -    Currently for masked Float16 intrinsified vector operation we emit a 
>> sequence of BLEND instruction which merges the result of complete vector 
>> operation with passthrough vector under the influence of mask.
>> -    Targets supporting AVX512-FP16 feature offers direct predicated 
>> instructions.
>> -    This patch adds the support to infer predicated vector 
>> ADD/SUB/MUL/DIV/FMA/SQRT/MIN/MAX operation on AVX512-FP16 targets
>> 
>> Following are the performance numbers of benchmark included with the patch 
>> on AVX512-FP16 target (Intel Granite Rapids)
>> <img width="1497" height="857" alt="image" 
>> src="https://github.com/user-attachments/assets/5600449e-e946-4bab-ae99-2e13dc454b56";
>>  />
>> 
>> Kindly review and share your feedback.
>> 
>> Best Regards,
>> Jatin
>> 
>> 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Jatin Bhateja has refreshed the contents of this pull request, and previous 
> commits have been removed. Incremental views are not available. The pull 
> request now contains one commit:
> 
>   8386957: C2 VectorAPI: Predicated operation support for intrinsified 
> Float16Vector unary/binary/ternary operations on AVX512-FP16 targets

test/hotspot/jtreg/compiler/vectorapi/TestFloat16MaskedVectorOperations.java 
line 190:

> 188:     @IR(counts = {IRNode.SQRT_VHF, " >0 "},
> 189:         failOn = {IRNode.VECTOR_BLEND_S},
> 190:         applyIfCPUFeature = {"avx512_fp16", "true"})

Should we also test for the backend mach nodes being generated here like you 
did for the other tests?


 @IR(counts = {"ector_sqrt_HF_masked", " >0 "},
        phase = {CompilePhase.FINAL_CODE},
        applyIfCPUFeature = {"avx512_fp16", "true"})

test/hotspot/jtreg/compiler/vectorapi/TestFloat16MaskedVectorOperations.java 
line 214:

> 212:         failOn = {IRNode.VECTOR_BLEND_S},
> 213:         applyIfCPUFeature = {"avx512_fp16", "true"})
> 214:     public void maskedFmaFloat16() {

same. should we look for the backend masked fma nodes as well?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/32004#discussion_r4467592691
PR Review Comment: https://git.openjdk.org/jdk/pull/32004#discussion_r4467598882

Reply via email to