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
6 //CHECK-NEXT
: 0xe1 ; mov fp
, sp
7 //CHECK-NEXT
: 0x83 ; stp x29
, x30
, [sp
, #-32]!
8 //CHECK-NEXT
: 0xe6 ; save next
9 //CHECK-NEXT
: 0xe6 ; save next
10 //CHECK-NEXT
: 0xe6 ; save next
11 //CHECK-NEXT
: 0xe6 ; save next
12 //CHECK-NEXT
: 0xe76689 ; stp q6
, q7
, [sp
, #-160]!
13 //CHECK-NEXT
: 0xe4 ; end
15 //CHECK-NEXT
: EpilogueScopes
[
16 //CHECK-NEXT
: EpilogueScope
{
17 //CHECK-NEXT
: StartOffset
: 12
18 //CHECK-NEXT
: EpilogueStartIndex
: 10
19 //CHECK-NEXT
: Opcodes
[
20 //CHECK-NEXT
: 0x83 ; ldp x29
, x30
, [sp
], #32
21 //CHECK-NEXT
: 0xe74e88 ; ldp q14
, q15
, [sp
, #128]
22 //CHECK-NEXT
: 0xe74c86 ; ldp q12
, q13
, [sp
, #96]
23 //CHECK-NEXT
: 0xe74a84 ; ldp q10
, q11
, [sp
, #64]
24 //CHECK-NEXT
: 0xe74882 ; ldp q8
, q9
, [sp
, #32]
25 //CHECK-NEXT
: 0xe76689 ; ldp q6
, q7
, [sp
], #160
26 //CHECK-NEXT
: 0xe3 ;
nop
27 //CHECK-NEXT
: 0xe3 ;
nop
28 //CHECK-NEXT
: 0xe4 ; end
34 //CHECK-NEXT
: 0xe70001 ; str x0
, [sp
, #8]
35 //CHECK-NEXT
: 0xe70041 ; str d0
, [sp
, #8]
36 //CHECK-NEXT
: 0xe70081 ; str q0
, [sp
, #16]
37 //CHECK-NEXT
: 0xe72001 ; str x0
, [sp
, #-32]!
38 //CHECK-NEXT
: 0xe77d01 ; stp x29
, x30
, [sp
, #-32]!
39 //CHECK-NEXT
: 0xe4 ; end
41 //CHECK-NEXT
: EpilogueScopes
[
46 .long "$unwind$func"@IMGREL
48 .long "$unwind$func2"@IMGREL
53 stp q6
, q7
, [sp
, #-160]!
55 stp q10
, q11
, [sp
, #64]
56 stp q12
, q13
, [sp
, #96]
57 stp q14
, q15
, [sp
, #128]
58 stp x29
, x30
, [sp
, #-32]!
65 ldp x29
, x30
, [sp
], #32
66 ldp q14
, q15
, [sp
, #128]
67 ldp q12
, q13
, [sp
, #96]
68 ldp q10
, q11
, [sp
, #64]
70 ldp q6
, q7
, [sp
], #160
80 .byte 0x15, 0x00, 0x40, 0x40
81 .byte 0x0c, 0x00, 0x80, 0x02
82 .byte 0xe1, 0x83, 0xe6, 0xe6
83 .byte 0xe6, 0xe6, 0xe7, 0x66
84 .byte 0x89, 0xe4, 0x83, 0xe7
85 .byte 0x4e, 0x88, 0xe7, 0x4c
86 .byte 0x86, 0xe7, 0x4a, 0x84
87 .byte 0xe7, 0x48, 0x82, 0xe7
88 .byte 0x66, 0x89, 0xe3, 0xe3
89 .byte 0xe4, 0xe3, 0xe3, 0xe3
91 .byte 0x15, 0x00, 0x00, 0x40
92 .byte 0xe7, 0x00, 0x01
93 .byte 0xe7, 0x00, 0x41
94 .byte 0xe7, 0x00, 0x81
95 .byte 0xe7, 0x20, 0x01
96 .byte 0xe7, 0x7d, 0x01