RFR: 8307513: C2: intrinsify Math.max(long,long) and Math.min(long,long) [v4]

Galder Zamarreño galder at openjdk.org
Tue Dec 10 09:13:47 UTC 2024


On Fri, 29 Nov 2024 11:27:01 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Galder Zamarreño has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 30 additional commits since the last revision:
>> 
>>  - Use same default size as in other vector reduction benchmarks
>>  - Renamed benchmark class
>>  - Double/Float tests only when avx enabled
>>  - Make state class non-final
>>  - Restore previous benchmark iterations and default param size
>>  - Add clipping range benchmark that uses min/max
>>  - Encapsulate benchmark state within an inner class
>>  - Avoid creating result array in benchmark method
>>  - Merge branch 'master' into topic.intrinsify-max-min-long
>>  - Revert "Implement cmovL as a jump+mov branch"
>>    
>>    This reverts commit 1522e26bf66c47b780ebd0d0d0c4f78a4c564e44.
>>  - ... and 20 more: https://git.openjdk.org/jdk/compare/b713ae85...0a8718e1
>
> test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxInlining.java line 108:
> 
>> 106:     @Test
>> 107:     @Arguments(values = { Argument.NUMBER_MINUS_42, Argument.NUMBER_42 })
>> 108:     @IR(counts = { IRNode.MIN_F, "1" }, applyIfCPUFeatureOr = {"avx", "true"})
> 
> Is this not supported by `asimd`? Same question for the other cases.

Good point. I'll look into that aarch64 environments to see how things behave.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20098#discussion_r1877657011


More information about the core-libs-dev mailing list