Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / tools / llvm-readobj / COFF / arm64-unwind-opcodes.s
blob8ac8f6c98e272e591f40990b0944370598a30a28
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
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: ]
24 .section .pdata,"dr"
25 .long func@IMGREL
26 .long "$unwind$func"@IMGREL
28 .text
29 .globl func
30 func:
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
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