summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-04-28 01:58:21 +0000
committerCraig Topper <craig.topper@gmail.com>2016-04-28 01:58:21 +0000
commit3b4842b56f9b0e9c1e3ff157bbfae1e651a24a05 (patch)
tree7d0938a2db4a612df4b48ce78fbb4cbf3063e700 /llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
parente5eb7049eb45f960dd7927e037a637a175d3f6db (diff)
downloadbcm5719-llvm-3b4842b56f9b0e9c1e3ff157bbfae1e651a24a05.tar.gz
bcm5719-llvm-3b4842b56f9b0e9c1e3ff157bbfae1e651a24a05.zip
[AArch64] Expand CTTZ for all vector types.
llvm-svn: 267837
Diffstat (limited to 'llvm/lib/Target/AArch64/AArch64ISelLowering.cpp')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelLowering.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
index b2f61ab85d8..12ae9087e0f 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -598,6 +598,15 @@ AArch64TargetLowering::AArch64TargetLowering(const TargetMachine &TM,
setOperationAction(ISD::CTLZ, MVT::v1i64, Expand);
setOperationAction(ISD::CTLZ, MVT::v2i64, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v2i8, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v4i16, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v2i32, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v1i64, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v16i8, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v8i16, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v4i32, Expand);
+ setOperationAction(ISD::CTTZ, MVT::v2i64, Expand);
+
// AArch64 doesn't have MUL.2d:
setOperationAction(ISD::MUL, MVT::v2i64, Expand);
// Custom handling for some quad-vector types to detect MULL.
OpenPOWER on IntegriCloud