On Wed, 20 Nov 2024 14:57:11 GMT, Jatin Bhateja <[email protected]> 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