This is an archive of the discontinued LLVM Phabricator instance.

[PowerPC] Fix load/store selection infrastructure when load/store intrinsics are used on P10.
ClosedPublic

Authored by amyk on Dec 2 2021, 11:37 AM.

Details

Summary

The load/store infrastructure previously made an incorrect assumption that whenever it is used with
a load/store intrinsic on Power10 - those intrinsics would automatically be the lxvp/stxvp intrinsics
introduced in Power10. However, this is obviously not the case as there are multiple instances of
pre-P10 intrinsics that use the refactored load/store implementation.

This patch corrects this assumption, and produces the expected intrinsic on pre-P10.

Diff Detail

Event Timeline

amyk created this revision.Dec 2 2021, 11:37 AM
amyk requested review of this revision.Dec 2 2021, 11:37 AM
nemanjai accepted this revision.Dec 2 2021, 12:15 PM

You might want to avoid adding new check prefixes in the tests if the sequence is exactly the same. Maybe just change it from CHECK-P9 to CHECK-P9UP. Otherwise LGTM.

This revision is now accepted and ready to land.Dec 2 2021, 12:15 PM
amyk added a comment.Dec 2 2021, 2:02 PM

I've updated the checks to be P9UP on the commit, while also removing the P10 run lines from vsx-p9.ll as this test case does not exercise the refactored load/store infrastructure.