; RUN: llc -mtriple=i686-- -no-integrated-as < %s | FileCheck %s declare void @bar(ptr %junk) define i32 @foo(i1 %cond) { entry: %r = alloca i32, align 128 store i32 -1, ptr %r, align 128 br i1 %cond, label %doit, label %skip doit: call void asm sideeffect "xor %ecx, %ecx\0A\09mov %ecx, $0", "=*m,~{ecx},~{flags}"(ptr elementtype(i32) %r) %junk = alloca i32 call void @bar(ptr %junk) br label %skip skip: %0 = load i32, ptr %r, align 128 ret i32 %0 } ; CHECK-LABEL: foo: ; CHECK: pushl %ebp ; CHECK: andl $-128, %esp ; CHECK: xor %ecx, %ecx ; CHECK-NEXT: mov %ecx, (%esi) ; CHECK: movl (%esi), %eax ; CHECK: popl %ebp ; CHECK: ret