[PATCH] D43282: [LegalizeDAG] Fix legalization of SETCC
Mikhail Maltsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 16 01:37:33 PST 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rL325325: [LegalizeDAG] Fix legalization of SETCC (authored by miyuki, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D43282?vs=134188&id=134568#toc
Repository:
rL LLVM
https://reviews.llvm.org/D43282
Files:
llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
llvm/trunk/test/CodeGen/ARM/2018-02-13-PR36079.ll
Index: llvm/trunk/test/CodeGen/ARM/2018-02-13-PR36079.ll
===================================================================
--- llvm/trunk/test/CodeGen/ARM/2018-02-13-PR36079.ll
+++ llvm/trunk/test/CodeGen/ARM/2018-02-13-PR36079.ll
@@ -0,0 +1,23 @@
+; RUN: llc -mtriple=arm-eabi -mattr=+neon < %s -o - | FileCheck %s
+
+ at c = global [4 x i32] [i32 3, i32 3, i32 3, i32 3], align 4
+ at d = common global i32 0, align 4
+
+define void @foo() local_unnamed_addr nounwind norecurse {
+entry:
+ %0 = load <4 x i32>, <4 x i32>* bitcast ([4 x i32]* @c to <4 x i32>*), align 4
+ %1 = and <4 x i32> %0,
+ <i32 1,
+ i32 zext (i1 icmp ne (i32* getelementptr inbounds ([4 x i32], [4 x i32]* @c, i32 0, i32 1), i32* @d) to i32),
+ i32 zext (i1 icmp ne (i32* getelementptr inbounds ([4 x i32], [4 x i32]* @c, i32 0, i32 2), i32* @d) to i32),
+ i32 zext (i1 icmp ne (i32* getelementptr inbounds ([4 x i32], [4 x i32]* @c, i32 0, i32 3), i32* @d) to i32)>
+ store <4 x i32> %1, <4 x i32>* bitcast ([4 x i32]* @c to <4 x i32>*), align 4
+ ret void
+; CHECK-NOT: mvnne
+; CHECK: movne r{{[0-9]+}}, #1
+; CHECK-NOT: mvnne
+; CHECK: movne r{{[0-9]+}}, #1
+; CHECK-NOT: mvnne
+; CHECK: movne r{{[0-9]+}}, #1
+; CHECK-NOT: mvnne
+}
Index: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
===================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3766,7 +3766,7 @@
// illegal; expand it into a SELECT_CC.
EVT VT = Node->getValueType(0);
int TrueValue;
- switch (TLI.getBooleanContents(Tmp1->getValueType(0))) {
+ switch (TLI.getBooleanContents(Tmp1.getValueType())) {
case TargetLowering::ZeroOrOneBooleanContent:
case TargetLowering::UndefinedBooleanContent:
TrueValue = 1;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43282.134568.patch
Type: text/x-patch
Size: 1864 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180216/8e5c589b/attachment.bin>
More information about the llvm-commits
mailing list