RFR: 8341137: Optimize long vector multiplication using x86 VPMUL[U]DQ instruction [v4]
Jatin Bhateja
jbhateja at openjdk.org
Thu Nov 14 18:25:00 UTC 2024
On Thu, 14 Nov 2024 02:52:26 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Jatin Bhateja has refreshed the contents of this pull request, and previous commits have been removed. Incremental views are not available. The pull request now contains seven commits:
>>
>> - Removing target specific hooks
>> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8341137
>> - Review resoultions
>> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8341137
>> - Handle new I2L pattern, IR tests, Rewiring pattern inputs to MulVL further optimizes JIT code
>> - Review resolutions
>> - 8341137: Optimize long vector multiplication using x86 VPMULUDQ instruction
>
> test/hotspot/jtreg/compiler/vectorapi/VectorMultiplyOpt.java line 105:
>
>> 103: LongVector vsrc2 = LongVector.fromArray(LSP, lsrc2, i);
>> 104: vsrc1.lanewise(VectorOperators.AND, 0xFFFFFFFFL)
>> 105: .lanewise(VectorOperators.MUL, vsrc2.lanewise(VectorOperators.AND, 0xFFFFFFFFL))
>
> It would be nice to randomize the constants (masks and shifts) to improve test coverage.
Pure randomization will ditch the pattern detection since we expect a constant, I have now varied the constant mask in different test points.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/21244#discussion_r1842704791
More information about the core-libs-dev
mailing list