summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2014-04-29 09:37:54 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2014-04-29 09:37:54 +0000
commit43705683fde4d34af41684ff2b622d8b9cc9c0d3 (patch)
tree24598b2b2cdfe0e2f9ad077043f21c71f7a5da23 /lib
parent0f99bc060611d6de502963fcbc668f1c60160a44 (diff)
downloadllvm-43705683fde4d34af41684ff2b622d8b9cc9c0d3.tar.gz
llvm-43705683fde4d34af41684ff2b622d8b9cc9c0d3.tar.bz2
llvm-43705683fde4d34af41684ff2b622d8b9cc9c0d3.tar.xz
AArch64: Mark vector long multiplication as expand.
There are no patterns for this. This was already fixed for ARM64 but I forgot to apply it to AArch64 too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207515 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/AArch64/AArch64ISelLowering.cpp b/lib/Target/AArch64/AArch64ISelLowering.cpp
index 6a073dbd44..5ad2036d51 100644
--- a/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -514,6 +514,11 @@ AArch64TargetLowering::AArch64TargetLowering(AArch64TargetMachine &TM)
> VT1.getVectorElementType().getSizeInBits())
setTruncStoreAction(VT, VT1, Expand);
}
+
+ setOperationAction(ISD::MULHS, VT, Expand);
+ setOperationAction(ISD::SMUL_LOHI, VT, Expand);
+ setOperationAction(ISD::MULHU, VT, Expand);
+ setOperationAction(ISD::UMUL_LOHI, VT, Expand);
}
// There is no v1i64/v2i64 multiply, expand v1i64/v2i64 to GPR i64 multiply.