brintos

brintos / llvm-project-archived public Read only

0
0
Text · 655 B · 58b4f1f Raw
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