On Wed, 27 Aug 2025 09:56:29 GMT, Emanuel Peter <[email protected]> wrote:
>> Merged and pushed latest master changes, all looks good still
>
> @galderz I got a failure in out testing:
>
> With VM flag: `-XX:UseAVX=1`.
>
>
> Failed IR Rules (2) of Methods (2)
> ----------------------------------
> 1) Method "static java.lang.Object[]
> compiler.loopopts.superword.TestCompatibleUseDefTypeSize.test6(int[],float[])"
> - [Failed IR rules: 1]:
> * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT},
> applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sse4.1", "true", "asimd",
> "true", "rvv", "true"}, counts={"_#V#LOAD_VECTOR_F#_", "> 0",
> "_#STORE_VECTOR#_", "> 0", "_#VECTOR_REINTERPRET#_", "> 0"},
> applyIfPlatformOr={}, applyIfPlatform={"64-bit", "true"}, failOn={},
> applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={},
> applyIfAnd={}, applyIfNot={})"
> > Phase "PrintIdeal":
> - counts: Graph contains wrong number of nodes:
> * Constraint 1:
> "(\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*vector[A-Za-z]<F,8>)"
> - Failed comparison: [found] 0 > 0 [given]
> - No nodes matched!
>
> 2) Method "static java.lang.Object[]
> compiler.loopopts.superword.TestCompatibleUseDefTypeSize.test9(long[],double[])"
> - [Failed IR rules: 1]:
> * @IR rule 1: "@compiler.lib.ir_framework.IR(phase={DEFAULT},
> applyIfPlatformAnd={}, applyIfCPUFeatureOr={"sse4.1", "true", "asimd",
> "true", "rvv", "true"}, counts={"_#V#LOAD_VECTOR_D#_", "> 0",
> "_#STORE_VECTOR#_", "> 0", "_#VECTOR_REINTERPRET#_", "> 0"},
> applyIfPlatformOr={}, applyIfPlatform={"64-bit", "true"}, failOn={},
> applyIfOr={}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={},
> applyIfAnd={}, applyIfNot={})"
> > Phase "PrintIdeal":
> - counts: Graph contains wrong number of nodes:
> * Constraint 1:
> "(\\d+(\\s){2}(LoadVector.*)+(\\s){2}===.*vector[A-Za-z]<D,4>)"
> - Failed comparison: [found] 0 > 0 [given]
> - No nodes matched!
>
>
> I suspect that `test6` with `floatToRawIntBits` and `test9` with
> `doubleToRawLongBits` are only supported with `AVX2`. Question is if that is
> really supposed to be like that, or if we should even file an RFE to extend
> support for `AVX1` and lower.
>
> Can you find out why we don't vectorize with `AVX1` here?
@eme64 I've replicated the failure. Looking into it
-------------
PR Comment: https://git.openjdk.org/jdk/pull/26457#issuecomment-3231836866