| ; RUN: llc < %s | FileCheck %s |
| |
| target triple = "i686--windows-msvc" |
| |
| declare { i8*, i32 } @param2_ret2(i32, i32) |
| declare i32 @__CxxFrameHandler3(...) |
| |
| |
| define void @test_reserved_regs() minsize optsize personality i32 (...)* @__CxxFrameHandler3 { |
| ; CHECK-LABEL: test_reserved_regs: |
| ; CHECK: calll _param2_ret2 |
| ; CHECK-NEXT: popl %ecx |
| ; CHECK-NEXT: popl %edi |
| start: |
| %s = alloca i64 |
| store i64 4, i64* %s |
| %0 = invoke { i8*, i32 } @param2_ret2(i32 0, i32 1) |
| to label %out unwind label %cleanup |
| |
| out: |
| ret void |
| |
| cleanup: |
| %cp = cleanuppad within none [] |
| cleanupret from %cp unwind to caller |
| } |