view test/CodeGen/X86/TruncAssertZext.ll @ 95:afa8332a0e37 LLVM3.8

LLVM 3.8
author Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp>
date Tue, 13 Oct 2015 17:48:58 +0900
parents 60c9769439b8
children 803732b1fca8
line wrap: on
line source

; 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 %e{{..}}, %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
}