91 lines
2.3 KiB
ArmAsm
91 lines
2.3 KiB
ArmAsm
|
# 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
|
||
|
|
||
|
# Check that a adjustment through a push %rax is the same as a sub.
|
||
|
|
||
|
# CHECK: Entry at offset 0x40:
|
||
|
# CHECK-NEXT: start: 0x2a _testrax
|
||
|
# CHECK-NEXT: length: 0x5
|
||
|
# CHECK-NEXT: compact encoding: 0x02020000
|
||
|
.globl _testrax
|
||
|
_testrax: ## @testrax
|
||
|
.cfi_startproc
|
||
|
## %bb.0: ## %entry
|
||
|
pushq %rax
|
||
|
Ltmp15:
|
||
|
.cfi_def_cfa_offset 16
|
||
|
xorl %eax, %eax
|
||
|
popq %rax
|
||
|
retq
|
||
|
.cfi_endproc
|
||
|
|
||
|
.section __TEXT,__cstring,cstring_literals
|
||
|
L_.str: ## @.str
|
||
|
.asciz "%d\n"
|
||
|
|
||
|
|
||
|
.subsections_via_symbols
|