| # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin10.0 %s | llvm-objdump -unwind-info - | FileCheck %s |
| |
| .section __TEXT,__text,regular,pure_instructions |
| .macosx_version_min 10, 10 |
| |
| # Check that we emit compact-unwind info with UNWIND_X86_MODE_STACK_IND encoding |
| |
| # CHECK: Contents of __compact_unwind section: |
| # CHECK-NEXT: Entry at offset 0x0: |
| # CHECK-NEXT: start: 0x0 _test0 |
| # CHECK-NEXT: length: 0x15 |
| # CHECK-NEXT: compact encoding: 0x03056804 |
| .globl _test0 |
| _test0: ## @test0 |
| .cfi_startproc |
| ## %bb.0: ## %entry |
| pushq %rbp |
| Ltmp0: |
| .cfi_def_cfa_offset 16 |
| pushq %rbx |
| Ltmp1: |
| .cfi_def_cfa_offset 24 |
| subq $14408, %rsp ## imm = 0x3848 |
| Ltmp2: |
| .cfi_def_cfa_offset 14432 |
| Ltmp3: |
| .cfi_offset %rbx, -24 |
| Ltmp4: |
| .cfi_offset %rbp, -16 |
| xorl %eax, %eax |
| addq $14408, %rsp ## imm = 0x3848 |
| popq %rbx |
| popq %rbp |
| retq |
| .cfi_endproc |
| |
| # Check that we emit compact-unwind info with UNWIND_X86_MODE_STACK_IMMD encoding |
| |
| # CHECK: Entry at offset 0x20: |
| # CHECK-NEXT: start: 0x15 _test1 |
| # CHECK-NEXT: length: 0x15 |
| # CHECK-NEXT: compact encoding: 0x02360804 |
| .globl _test1 |
| _test1: ## @test1 |
| .cfi_startproc |
| ## %bb.0: ## %entry |
| pushq %rbp |
| Ltmp10: |
| .cfi_def_cfa_offset 16 |
| pushq %rbx |
| Ltmp11: |
| .cfi_def_cfa_offset 24 |
| subq $408, %rsp ## imm = 0x198 |
| Ltmp12: |
| .cfi_def_cfa_offset 432 |
| Ltmp13: |
| .cfi_offset %rbx, -24 |
| Ltmp14: |
| .cfi_offset %rbp, -16 |
| xorl %eax, %eax |
| addq $408, %rsp ## imm = 0x198 |
| popq %rbx |
| popq %rbp |
| retq |
| .cfi_endproc |
| |
| .section __TEXT,__cstring,cstring_literals |
| L_.str: ## @.str |
| .asciz "%d\n" |
| |
| |
| .subsections_via_symbols |