summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorPirama Arumuga Nainar <pirama@google.com>2016-01-22 01:16:57 +0000
committerPirama Arumuga Nainar <pirama@google.com>2016-01-22 01:16:57 +0000
commit71e9a2a4c4a4e08ad98f5c319ed5d1704ce1537f (patch)
treec89fd518b19a74cf7b7378b452248605cf65d06c /llvm/lib/Target
parent4f4815789d8419365c0c60a2ab58fab7a735d096 (diff)
downloadbcm5719-llvm-71e9a2a4c4a4e08ad98f5c319ed5d1704ce1537f.tar.gz
bcm5719-llvm-71e9a2a4c4a4e08ad98f5c319ed5d1704ce1537f.zip
Do not lower VSETCC if operand is an f16 vector
Summary: SETCC with f16 vectors has OperationAction set to Expand but still gets lowered to FCM* intrinsics based on its result type. This patch skips lowering of VSETCC if the operand is an f16 vector. v4 and v8 tests included. Reviewers: ab, jmolloy Subscribers: srhines, llvm-commits Differential Revision: http://reviews.llvm.org/D15361 llvm-svn: 258471
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/AArch64/AArch64ISelLowering.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
index 2a838d63f0f..c8e67ff8305 100644
--- a/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -6689,6 +6689,9 @@ SDValue AArch64TargetLowering::LowerVSETCC(SDValue Op,
return DAG.getSExtOrTrunc(Cmp, dl, Op.getValueType());
}
+ if (LHS.getValueType().getVectorElementType() == MVT::f16)
+ return SDValue();
+
assert(LHS.getValueType().getVectorElementType() == MVT::f32 ||
LHS.getValueType().getVectorElementType() == MVT::f64);
OpenPOWER on IntegriCloud