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