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

Galder Zamarreño galder at openjdk.org
Thu Mar 13 13:50:14 UTC 2025


On Fri, 7 Mar 2025 13:17:29 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>>> As for possible solutions. In all Regression 1-3 cases, it seems the issue is scalar cmove. So actually in all cases a possible solution is using branching code (i.e. `cmp+mov`). So to me, these are the follow-up RFE's:
>>> 
>>> * Detect "extreme" probability scalar cmove, and replace them with branching code. This should take care of all regressions here. This one has high priority, as it fixes the regression caused by this patch here. But it would also help to improve performance for the `Integer.min/max` cases, which have the same issue.
>> 
>> I've created [JDK-8351409](https://bugs.openjdk.org/browse/JDK-8351409) to address this.
>
> @galderz Excellent. Testing looks all good on our side. Yes I think what you saw was unrelated.
> @rwestrel Could give this a last quick scan and then I think you can integrate :)

Thanks @eme64 @rwestrel @chhagedorn for your patience with this!

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

PR Comment: https://git.openjdk.org/jdk/pull/20098#issuecomment-2721319344


More information about the core-libs-dev mailing list