diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-04-29 09:37:54 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-04-29 09:37:54 +0000 |
commit | 43705683fde4d34af41684ff2b622d8b9cc9c0d3 (patch) | |
tree | 24598b2b2cdfe0e2f9ad077043f21c71f7a5da23 /lib | |
parent | 0f99bc060611d6de502963fcbc668f1c60160a44 (diff) | |
download | llvm-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.cpp | 5 |
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. |