On Mon, 25 Aug 2025 07:10:26 GMT, Galder Zamarreño <gal...@openjdk.org> wrote:

>> Galder Zamarreño has updated the pull request incrementally with three 
>> additional commits since the last revision:
>> 
>>  - Add more IR node positive assertions
>>  - Fix source of data for benchmarks
>>  - Refactor benchmarks to TypeVectorOperations
>
> 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?

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

PR Comment: https://git.openjdk.org/jdk/pull/26457#issuecomment-3227556451

Reply via email to