1; RUN: llc < %s -O2 -march=x86-64 | FileCheck %s
2; Checks that a zeroing mov is inserted for the trunc/zext pair even when
3; the source of the zext is an AssertSext node
4; PR20494
5
6define i64 @main(i64 %a) {
7; CHECK-LABEL: main
8; CHECK: movl %e{{..}}, %eax
9; CHECK: ret
10  %or = or i64 %a, -2
11  %trunc = trunc i64 %or to i32
12  br label %l
13l:
14  %ext = zext i32 %trunc to i64
15  ret i64 %ext
16}
17