| ; RUN: llc < %s -mtriple=i686-windows | FileCheck %s -check-prefix=CHECK -check-prefix=NORMAL | 
 | ; RUN: llc < %s -mtriple=i686-windows -mattr=slow-two-mem-ops | FileCheck %s -check-prefix=CHECK -check-prefix=SLM | 
 |  | 
 | declare void @foo(i32 %r) | 
 |  | 
 | define void @test(i32 %a, i32 %b) optsize nounwind { | 
 | ; CHECK-LABEL: test: | 
 | ; CHECK: movl [[EAX:%e..]], (%esp) | 
 | ; CHECK-NEXT: pushl [[EAX]] | 
 | ; CHECK-NEXT: calll | 
 | ; CHECK-NEXT: addl $4, %esp | 
 | ; CHECK: nop | 
 | ; NORMAL: pushl (%esp) | 
 | ; SLM: movl (%esp), [[RELOAD:%e..]] | 
 | ; SLM-NEXT: pushl [[RELOAD]] | 
 | ; CHECK: calll | 
 | ; CHECK-NEXT: addl $8, %esp | 
 |   %c = add i32 %a, %b | 
 |   call void @foo(i32 %c) | 
 |   call void asm sideeffect "nop", "~{ax},~{bx},~{cx},~{dx},~{bp},~{si},~{di}"() | 
 |   call void @foo(i32 %c) | 
 |   ret void | 
 | } | 
 |  | 
 | define void @test_min(i32 %a, i32 %b) minsize nounwind { | 
 | ; CHECK-LABEL: test_min: | 
 | ; CHECK: movl [[EAX:%e..]], (%esp) | 
 | ; CHECK-NEXT: pushl [[EAX]] | 
 | ; CHECK-NEXT: calll | 
 | ; CHECK-NEXT: popl | 
 | ; CHECK: nop | 
 | ; CHECK: pushl (%esp) | 
 | ; CHECK: calll | 
 | ; CHECK-NEXT: popl | 
 |   %c = add i32 %a, %b | 
 |   call void @foo(i32 %c) | 
 |   call void asm sideeffect "nop", "~{ax},~{bx},~{cx},~{dx},~{bp},~{si},~{di}"() | 
 |   call void @foo(i32 %c) | 
 |   ret void | 
 | } |