[PATCH] D42235: [AArch64] Avoid unnecessary vector byte-swapping in big-endian
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 22 10:58:18 PST 2018
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
LGTM with one minor tweak.
================
Comment at: lib/Target/AArch64/AArch64ISelLowering.cpp:724
void AArch64TargetLowering::addTypeForNEON(MVT VT, MVT PromotedBitwiseVT) {
- if (VT == MVT::v2f32 || VT == MVT::v4f16) {
- setOperationAction(ISD::LOAD, VT, Promote);
- AddPromotedToType(ISD::LOAD, VT, MVT::v2i32);
-
- setOperationAction(ISD::STORE, VT, Promote);
- AddPromotedToType(ISD::STORE, VT, MVT::v2i32);
- } else if (VT == MVT::v2f64 || VT == MVT::v4f32 || VT == MVT::v8f16) {
- setOperationAction(ISD::LOAD, VT, Promote);
- AddPromotedToType(ISD::LOAD, VT, MVT::v2i64);
-
- setOperationAction(ISD::STORE, VT, Promote);
- AddPromotedToType(ISD::STORE, VT, MVT::v2i64);
+ if (VT.isVector() && VT.isFloatingPoint()) {
+ MVT PromoteTo = EVT(VT).changeVectorElementTypeToInteger().getSimpleVT();
----------------
We can assume VT is a vector type here.
Repository:
rL LLVM
https://reviews.llvm.org/D42235
More information about the llvm-commits
mailing list