Home | History | Annotate | Download | only in X86
      1 ; RUN: llc < %s | FileCheck %s
      2 
      3 target triple = "i686--windows-msvc"
      4 
      5 declare { i8*, i32 } @param2_ret2(i32, i32)
      6 declare i32 @__CxxFrameHandler3(...)
      7 
      8 
      9 define void @test_reserved_regs() minsize optsize personality i32 (...)* @__CxxFrameHandler3 {
     10 ; CHECK-LABEL: test_reserved_regs:
     11 ; CHECK: calll _param2_ret2
     12 ; CHECK-NEXT: popl %ecx
     13 ; CHECK-NEXT: popl %edi
     14 start:
     15   %s = alloca i64
     16   store i64 4, i64* %s
     17   %0 = invoke { i8*, i32 } @param2_ret2(i32 0, i32 1)
     18           to label %out unwind label %cleanup
     19 
     20 out:
     21   ret void
     22 
     23 cleanup:
     24   %cp = cleanuppad within none []
     25   cleanupret from %cp unwind to caller
     26 }
     27