@ RUN: llvm-mc -triple=thumbv7k-apple-watchos2.0.0 -filetype=obj -o %t < %s && llvm-objdump -unwind-info %t | FileCheck %s @ CHECK: Contents of __compact_unwind section: .syntax unified .align 2 .code 16 @ CHECK-LABEL: start: {{.*}} _test_r4_r5_r6 @ CHECK: compact encoding: 0x01000007 .thumb_func _test_r4_r5_r6 _test_r4_r5_r6: .cfi_startproc push {r4, r5, r6, r7, lr} add r7, sp, #12 sub sp, #16 .cfi_def_cfa r7, 8 .cfi_offset lr, -4 .cfi_offset r7, -8 .cfi_offset r6, -12 .cfi_offset r5, -16 .cfi_offset r4, -20 .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_r4_r5_r10_r11 @ CHECK: compact encoding: 0x01000063 .thumb_func _test_r4_r5_r10_r11 _test_r4_r5_r10_r11: .cfi_startproc push {r4, r5, r7, lr} add r7, sp, #8 .cfi_def_cfa r7, 8 .cfi_offset lr, -4 .cfi_offset r7, -8 .cfi_offset r5, -12 .cfi_offset r4, -16 push.w {r10, r11} .cfi_offset r11, -20 .cfi_offset r10, -24 .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_d8 @ CHECK: compact encoding: 0x02000000 .thumb_func _test_d8 _test_d8: .cfi_startproc push {r7, lr} mov r7, sp .cfi_def_cfa r7, 8 .cfi_offset lr, -4 .cfi_offset r7, -8 vpush {d8} .cfi_offset d8, -16 .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_d8_d10_d12_d14 @ CHECK: compact encoding: 0x02000300 .thumb_func _test_d8_d10_d12_d14 _test_d8_d10_d12_d14: .cfi_startproc push {r7, lr} mov r7, sp .cfi_def_cfa r7, 8 .cfi_offset lr, -4 .cfi_offset r7, -8 vpush {d14} vpush {d12} vpush {d10} vpush {d8} .cfi_offset d14, -16 .cfi_offset d12, -24 .cfi_offset d10, -32 .cfi_offset d8, -40 .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_varargs @ CHECK: compact encoding: 0x01c00001 .thumb_func _test_varargs _test_varargs: .cfi_startproc sub sp, #12 push {r4, r7, lr} add r7, sp, #4 .cfi_def_cfa r7, 20 .cfi_offset lr, -16 .cfi_offset r7, -20 .cfi_offset r4, -24 add.w r9, r7, #8 mov r4, r0 stm.w r9, {r1, r2, r3} .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_missing_lr @ CHECK: compact encoding: 0x04000000 .thumb_func _test_missing_lr _test_missing_lr: .cfi_startproc push {r7} .cfi_def_cfa r7, 4 .cfi_offset r7, -4 pop {r7} bx lr .cfi_endproc @ CHECK-LABEL: start: {{.*}} _test_swapped_offsets @ CHECK: compact encoding: 0x04000000 .thumb_func _test_swapped_offsets _test_swapped_offsets: .cfi_startproc push {r7, lr} push {r10} push {r4} .cfi_def_cfa r7, 8 .cfi_offset lr, -4 .cfi_offset r7, -8 .cfi_offset r10, -12 .cfi_offset r4, -16 pop {r4} pop {r10} pop {r7, pc} .cfi_endproc