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