RFR: 8302652: [SuperWord] Reduction should happen after loop, when possible
Sandhya Viswanathan
sviswanathan at openjdk.org
Fri May 5 07:39:31 UTC 2023
On Thu, 23 Mar 2023 08:25:30 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> @eme64 For long min/max, currently Math.min(long, long) is not getting intrinsified. Only int/float/double are getting intrinsified. No scalar intrinsification for Math.min(long, long) leads to no MinL scalar node generation and in turn no vectorization and no reduction.
>
> @sviswa7 thanks for your quick response!
>
> I can confirm: we do not "intrinsify" (ie turn into `MinL/MaxL`), rather we just inline the `java.lang.Math::Min/Max` methods, implemented with `CmpL` / `If`-branching. Do you think this makes sense, or should we intrinsify, at least when the hardware supports it?
@eme64 The MinI doesn't vectorize due to the rewrite as right-spline graph in MinINode::Ideal.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13056#issuecomment-1482015255
More information about the hotspot-compiler-dev
mailing list