RFR: 8342103: C2 compiler support for Float16 type and associated operations

Bhavana Kilambi bkilambi at openjdk.org
Wed Nov 20 15:05:20 UTC 2024


On Wed, 20 Nov 2024 14:57:11 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> test/hotspot/jtreg/compiler/vectorization/TestFloat16VectorConvChain.java line 44:
>> 
>>> 42:     @Test
>>> 43:     @IR(applyIfCPUFeatureAnd = {"avx512_fp16", "false", "avx512vl", "true"}, counts = {IRNode.VECTOR_CAST_HF2F, IRNode.VECTOR_SIZE_ANY, ">= 1", IRNode.VECTOR_CAST_F2HF, IRNode.VECTOR_SIZE_ANY, " >= 1"})
>>> 44:     @IR(applyIfCPUFeatureAnd = {"avx512_fp16", "false", "f16c", "true"}, counts = {IRNode.VECTOR_CAST_HF2F, IRNode.VECTOR_SIZE_ANY, ">= 1", IRNode.VECTOR_CAST_F2HF, IRNode.VECTOR_SIZE_ANY, " >= 1"})
>> 
>> Wouldn't the Ideal transforms convert the IR for this test case to - 
>> 
>> ReinterpretS2HF     ReinterpretS2HF
>>                       \         /
>>                        AddHF
>>                             |
>>                        ReinterpretHF2S
>>                             |
>>                        ConvHF2F
>> 
>> in which case, ConvF2HF won't match?
>
> New transforms are guarded by target features checks, the IR test rules are enforced only on non AVX512_FP16 targets.

Oh right! Sorry misread the IR test rules. Got it now. Thanks!

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21490#discussion_r1850477856


More information about the core-libs-dev mailing list