1// REQUIRES: aarch64-registered-target 2// RUN: llvm-mc -filetype=obj -triple aarch64-windows %s -o %t.o 3// RUN: llvm-readobj --unwind %t.o | FileCheck --strict-whitespace %s 4 5// CHECK: Prologue [ 6// CHECK-NEXT: 0xe202 ; add fp, sp, #16 7// CHECK-NEXT: 0xe1 ; mov fp, sp 8// CHECK-NEXT: 0xdc01 ; str d8, [sp, #8] 9// CHECK-NEXT: 0xd400 ; str x19, [sp, #-8]! 10// CHECK-NEXT: 0xe4 ; end 11// CHECK-NEXT: ] 12// CHECK-NEXT: EpilogueScopes [ 13// CHECK-NEXT: EpilogueScope { 14// CHECK-NEXT: StartOffset: 15// CHECK-NEXT: EpilogueStartIndex: 16// CHECK-NEXT: Opcodes [ 17// CHECK-NEXT: 0xe202 ; sub sp, fp, #16 18// CHECK-NEXT: 0xe1 ; mov sp, fp 19// CHECK-NEXT: 0xe4 ; end 20// CHECK-NEXT: ] 21// CHECK-NEXT: } 22// CHECK-NEXT: ] 23 24.section .pdata,"dr" 25 .long func@IMGREL 26 .long "$unwind$func"@IMGREL 27 28 .text 29 .globl func 30func: 31 str x19, [sp, #-8]! 32 str d8, [sp, #8] 33 mov x29, sp 34 add x29, sp, #16 35 nop 36 sub sp, x29, #16 37 mov sp, x29 38 ret 39 40.section .xdata,"dr" 41"$unwind$func": 42.byte 0x08, 0x00, 0x40, 0x18 43.byte 0x05, 0x00, 0x00, 0x02 44.byte 0xe2, 0x02, 0xe1, 0xdc 45.byte 0x01, 0xd4, 0x00, 0xe4 46.byte 0xe2, 0x02, 0xe1, 0xe4 47