This is an archive of the discontinued LLVM Phabricator instance.

[ARM/AArch64] Ensure valid vector element types for interleaved accesses
ClosedPublic

Authored by mssimpso on Apr 7 2017, 10:32 AM.

Details

Summary

This patch refactors and strengthens the type checks performed for interleaved accesses. The primary functional change is to ensure that the interleaved accesses have valid element types. The added test cases previously failed because the element type is f128.

Diff Detail

Repository
rL LLVM

Event Timeline

mssimpso created this revision.Apr 7 2017, 10:32 AM
mcrosier accepted this revision.Apr 10 2017, 6:41 AM

Looks straight forward.

lib/Target/AArch64/AArch64ISelLowering.cpp
7264 ↗(On Diff #94542)
return VecSize == 64 || VecSize % 128 == 0;
lib/Target/ARM/ARMISelLowering.cpp
13624 ↗(On Diff #94542)
return VecSize == 64 || VecSize % 128 == 0;
This revision is now accepted and ready to land.Apr 10 2017, 6:41 AM

Thanks Chad!

lib/Target/AArch64/AArch64ISelLowering.cpp
7264 ↗(On Diff #94542)

Ah, nice catch!

This revision was automatically updated to reflect the committed changes.