; RUN: llc < %s -mtriple=x86_64-linux | FileCheck %s | |
; RUN: llc < %s -mtriple=x86_64-win64 | FileCheck %s | |
; rdar://7304838 | |
; CodeGenPrepare should move the zext into the block with the load | |
; so that SelectionDAG can select it with the load. | |
; CHECK: movzbl ({{%rdi|%rcx}}), %eax | |
define void @foo(i8* %p, i32* %q) { | |
entry: | |
%t = load i8* %p | |
%a = icmp slt i8 %t, 20 | |
br i1 %a, label %true, label %false | |
true: | |
%s = zext i8 %t to i32 | |
store i32 %s, i32* %q | |
ret void | |
false: | |
ret void | |
} |