RFR: 8348678: [PPC64] C2: unaligned vector load/store is ok [v2]

Richard Reingruber rrich at openjdk.org
Wed Jan 29 17:04:53 UTC 2025


On Wed, 29 Jan 2025 15:51:03 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> This pr changes `Matcher::misaligned_vectors_ok`  to return `true` on PPC64 for better vectorization during `SuperWord`.
>> IR checking of the corresponding test `TestCastX2NotProcessedIGVN.java` is also enabled.
>> 
>> Tested with `TestCastX2NotProcessedIGVN.java`
>> 
>> The change passed our CI testing:
>> Tier 1-4 of hotspot and jdk. All of langtools and jaxp. Renaissance Suite and SAP specific tests.
>> Testing was done on the main platforms and also on Linux/PPC64le and AIX.
>
> Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use -AlignVector by default for POWER8 and later

Thanks for looking at this.

> Should `AlignVector` be disabled regardless of the Power Architecture version? `SuperwordUseVSX` already requires Power8. The 8 Byte load/store instructions which are used otherwise have no alignment requirements, either.

Ah, indeed. But I think there's an issue though with the displacement which needs to be 4 byte aligned, doesn't it? Maybe that's why `AlignVector` wasn't disabled yet.
And maybe there's even an issue with `+SuperwordUseVSX` if nodes with `n->as_LoadVector()->memory_size() == 8` are generated?

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

PR Comment: https://git.openjdk.org/jdk/pull/23318#issuecomment-2622210280


More information about the hotspot-compiler-dev mailing list