This is an archive of the discontinued LLVM Phabricator instance.

AARCH64_BE load/store rules fix for ARM ABI (Part 2)
Needs ReviewPublic

Authored by cpirker on Apr 10 2014, 8:03 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Hi Tim,
Hi Jiangning,

this is a new start of the revision D2884.
The original patch doesn't work any longer on trunk.
I merged the source code and reduced the number of test files.
Can you please review.

Thanks,
Christian

Diff Detail

Event Timeline

Hi Christian,

I've basically repeated all the comments I made on the original thread (the ones that I remember, anyway), since it got rather confusing.

Cheers..

Tim.

lib/Target/AArch64/AArch64InstrInfo.td
5079

Commented out code.

lib/Target/AArch64/AArch64InstrNEON.td
107–115

I think this is incorrect, and your issues with big-endian constpools are probably the result of D3306.

4029–4030

I don't believe they do. These replicating loads should be fine for both endians.

4132–4133

These are currently broken (pending the global lane-reversal I suggested in D3306), but no more so than *any* instruction that refers to a specific lane, of which there are hundreds. I don't think they should be predicated.

4235–4236

Same comment as the LD1LN instructions.

4356–4357

Again, LD2R, LD3R and LD4R should be fine in both.