diff --git a/lib/Target/X86/X86InstrCompiler.td b/lib/Target/X86/X86InstrCompiler.td index 117b6ff2103..bf25672b2f6 100644 --- a/lib/Target/X86/X86InstrCompiler.td +++ b/lib/Target/X86/X86InstrCompiler.td @@ -1191,7 +1191,6 @@ def def32 : PatLeaf<(i32 GR32:$src), [{ return N->getOpcode() != ISD::TRUNCATE && N->getOpcode() != TargetOpcode::EXTRACT_SUBREG && N->getOpcode() != ISD::CopyFromReg && - N->getOpcode() != ISD::AssertSext && N->getOpcode() != X86ISD::CMOV; }]>; diff --git a/test/CodeGen/X86/TruncAssertZext.ll b/test/CodeGen/X86/TruncAssertZext.ll deleted file mode 100644 index 08079e98f2d..00000000000 --- a/test/CodeGen/X86/TruncAssertZext.ll +++ /dev/null @@ -1,16 +0,0 @@ -; RUN: llc < %s -O2 -march=x86-64 | FileCheck %s -; Checks that a zeroing mov is inserted for the trunc/zext pair even when -; the source of the zext is an AssertSext node -; PR20494 - -define i64 @main(i64 %a) { -; CHECK-LABEL: main -; CHECK: movl %ecx, %eax -; CHECK: ret - %or = or i64 %a, -2 - %trunc = trunc i64 %or to i32 - br label %l -l: - %ext = zext i32 %trunc to i64 - ret i64 %ext -}