This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Disable nontemproal load for Big Endian
ClosedPublic

Authored by zjaffal on Sep 13 2022, 10:26 AM.

Details

Summary

The current code for generating nontemporal load outputs the wrong assembly for big endian architecture

Diff Detail

Event Timeline

zjaffal created this revision.Sep 13 2022, 10:26 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 10:26 AM
zjaffal requested review of this revision.Sep 13 2022, 10:26 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 13 2022, 10:26 AM
fhahn added inline comments.Sep 14 2022, 3:14 AM
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
20609–20612

It looks like this line is too long. Could you run clang-format on the diff? Also, can you extend the comment to say that this applies to little-endian only?

zjaffal updated this revision to Diff 460028.Sep 14 2022, 3:54 AM

Apply clang format and add comments

fhahn accepted this revision.Sep 14 2022, 3:56 AM

LGTM, thanks!

llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
20609–20612

I'll reword this to Handle lowering 256 bit non temporal loads into LDNP for little-endian targets. when committing.

This revision is now accepted and ready to land.Sep 14 2022, 3:56 AM
zjaffal updated this revision to Diff 460050.Sep 14 2022, 5:30 AM

Rebase on top of main

This revision was landed with ongoing or failed builds.Sep 14 2022, 6:51 AM
This revision was automatically updated to reflect the committed changes.