30 lines · plain
1; RUN: llc -mtriple=i686-- -no-integrated-as < %s | FileCheck %s2 3declare void @bar(ptr %junk)4 5define i32 @foo(i1 %cond) {6entry:7 %r = alloca i32, align 1288 store i32 -1, ptr %r, align 1289 br i1 %cond, label %doit, label %skip10 11doit:12 call void asm sideeffect "xor %ecx, %ecx\0A\09mov %ecx, $0", "=*m,~{ecx},~{flags}"(ptr elementtype(i32) %r)13 %junk = alloca i3214 call void @bar(ptr %junk)15 br label %skip16 17skip:18 %0 = load i32, ptr %r, align 12819 ret i32 %020}21 22; CHECK-LABEL: foo:23; CHECK: pushl %ebp24; CHECK: andl $-128, %esp25; CHECK: xor %ecx, %ecx26; CHECK-NEXT: mov %ecx, (%esi)27; CHECK: movl (%esi), %eax28; CHECK: popl %ebp29; CHECK: ret30