summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2016-07-08 19:52:19 +0000
committerNico Weber <nicolasweber@gmx.de>2016-07-08 19:52:19 +0000
commit28410c684658089852d6f1708fdba5567aa5e299 (patch)
tree019e634f949e7621a03d53cdd9bdfc2b40427c30
parent0a0e0d4e8e73af4dd3a52e9dff40886885b6d4fa (diff)
downloadbcm5719-llvm-28410c684658089852d6f1708fdba5567aa5e299.tar.gz
bcm5719-llvm-28410c684658089852d6f1708fdba5567aa5e299.zip
Revert r274829, it caused PR28472.
llvm-svn: 274916
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp2
-rw-r--r--llvm/test/CodeGen/X86/pr28444.ll27
2 files changed, 1 insertions, 28 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 3a67fe4ec9d..f1b2566f43a 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -12408,7 +12408,7 @@ SDValue DAGCombiner::visitEXTRACT_VECTOR_ELT(SDNode *N) {
// on the constant elements already work.
if (InVec.getOpcode() == ISD::INSERT_VECTOR_ELT &&
EltNo == InVec.getOperand(2))
- return DAG.getAnyExtOrTrunc(InVec.getOperand(1), SDLoc(N), NVT);
+ return InVec.getOperand(1);
// Transform: (EXTRACT_VECTOR_ELT( VECTOR_SHUFFLE )) -> EXTRACT_VECTOR_ELT.
// We only perform this optimization before the op legalization phase because
diff --git a/llvm/test/CodeGen/X86/pr28444.ll b/llvm/test/CodeGen/X86/pr28444.ll
deleted file mode 100644
index 452f01c166b..00000000000
--- a/llvm/test/CodeGen/X86/pr28444.ll
+++ /dev/null
@@ -1,27 +0,0 @@
-; RUN: llc -mtriple=x86_64-unknown-linux-gnu -mcpu=corei7 < %s | FileCheck %s
-; https://llvm.org/bugs/show_bug.cgi?id=28444
-
-; extract_vector_elt is allowed to have a different result type than
-; the vector scalar type.
-; This uses both
-; i8 = extract_vector_elt v1i1, Constant:i64<0>
-; i1 = extract_vector_elt v1i1, Constant:i64<0>
-
-
-; CHECK-LABEL: {{^}}extractelt_mismatch_vector_element_type:
-; CHECK: movb $1, %al
-; CHECK: movb %al
-; CHECK: movb %al
-define void @extractelt_mismatch_vector_element_type(i32 %arg) {
-bb:
- %tmp = icmp ult i32 %arg, 0
- %tmp2 = insertelement <1 x i1> undef, i1 true, i32 0
- %tmp3 = select i1 %tmp, <1 x i1> undef, <1 x i1> %tmp2
- %tmp6 = extractelement <1 x i1> %tmp3, i32 0
- br label %bb1
-
-bb1:
- store volatile <1 x i1> %tmp3, <1 x i1>* undef
- store volatile i1 %tmp6, i1* undef
- ret void
-}
OpenPOWER on IntegriCloud