RFR: 8248191: [PPC64] Replace lxvd2x/stxvd2x with lxvx/stxvx for Power10

Martin Doerr mdoerr at openjdk.java.net
Thu Dec 3 14:11:56 UTC 2020


On Wed, 2 Dec 2020 22:05:44 GMT, Ziviani <github.com+670087+jrziviani at openjdk.org> wrote:

>> Then, I don't understand
>> "These should benefit the Vector API because lxvd2x/stxvd2x may require
>> xxswapd, leading to a more difficult code generation."
>> I think this should get removed from the description if nobody can explain it.
>> And please describe the benefits a bit more detailed than only "more modern".
>
>> Then, I don't understand
>> "These should benefit the Vector API because lxvd2x/stxvd2x may require
>> xxswapd, leading to a more difficult code generation."
>> I think this should get removed from the description if nobody can explain it.
>> And please describe the benefits a bit more detailed than only "more modern".
> 
> Hallo Martin
> 
> Actually, it's "more modern" in the sense that it was introduced by PowerISA 3.0 (it works on P9 as well), the main advantage is that lxvd2x might require xxswapd instruction (or before it in case of stxvd2x), which is basically what gcc did (https://gcc.gnu.org/legacy-ml/gcc-patches/2015-12/msg02172.html). I didn't find patterns to generate code using lxvx like gcc does, but anyway, it seems a good idea to use it instead of lxvd2x (but nothing great or important). :-D
> 
> About the vector api, it was my misunderstanding of the load functions. I'll remove from the rationale if you think this patch makes sense.
> 
> Thank you!!

Hi Jose,
if there's no real benenfit, I suggest to close this PR. Only making the code larger is not a good thing.
If you have a real benefit like better performance, support for unaligned accesses, etc. I'll be glad to sponsor it.
You may also want to take a look at Matcher::misaligned_vectors_ok() if you want to improve unaligned support.

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

PR: https://git.openjdk.java.net/jdk/pull/1086


More information about the hotspot-compiler-dev mailing list