xref: /aosp_15_r20/external/llvm/test/DebugInfo/SystemZ/eh_frame.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=s390x-linux-gnu -filetype=obj %s -o %t
2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-objdump -s %t | FileCheck %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker	.text
5*9880d681SAndroid Build Coastguard Worker	.globl	check_largest_class
6*9880d681SAndroid Build Coastguard Worker	.align	4
7*9880d681SAndroid Build Coastguard Worker	.type	check_largest_class,@function
8*9880d681SAndroid Build Coastguard Workercheck_largest_class:
9*9880d681SAndroid Build Coastguard Worker	.cfi_startproc
10*9880d681SAndroid Build Coastguard Worker	stmg	%r13, %r15, 104(%r15)
11*9880d681SAndroid Build Coastguard Worker	.cfi_offset %r13, -56
12*9880d681SAndroid Build Coastguard Worker	.cfi_offset %r14, -48
13*9880d681SAndroid Build Coastguard Worker	.cfi_offset %r15, -40
14*9880d681SAndroid Build Coastguard Worker	aghi	%r15, -224
15*9880d681SAndroid Build Coastguard Worker	.cfi_def_cfa_offset 384
16*9880d681SAndroid Build Coastguard Worker	std	%f8, 160(%r15)
17*9880d681SAndroid Build Coastguard Worker	std	%f9, 168(%r15)
18*9880d681SAndroid Build Coastguard Worker	std	%f10, 176(%r15)
19*9880d681SAndroid Build Coastguard Worker	std	%f11, 184(%r15)
20*9880d681SAndroid Build Coastguard Worker	std	%f12, 192(%r15)
21*9880d681SAndroid Build Coastguard Worker	std	%f13, 200(%r15)
22*9880d681SAndroid Build Coastguard Worker	std	%f14, 208(%r15)
23*9880d681SAndroid Build Coastguard Worker	std	%f15, 216(%r15)
24*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f8, -224
25*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f9, -216
26*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f10, -208
27*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f11, -200
28*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f12, -192
29*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f13, -184
30*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f14, -176
31*9880d681SAndroid Build Coastguard Worker	.cfi_offset %f15, -168
32*9880d681SAndroid Build Coastguard Worker	lmg	%r13, %r15, 328(%r15)
33*9880d681SAndroid Build Coastguard Worker	br	%r14
34*9880d681SAndroid Build Coastguard Worker	.size	check_largest_class, .-check_largest_class
35*9880d681SAndroid Build Coastguard Worker	.cfi_endproc
36*9880d681SAndroid Build Coastguard Worker
37*9880d681SAndroid Build Coastguard Worker# The readelf rendering is:
38*9880d681SAndroid Build Coastguard Worker#
39*9880d681SAndroid Build Coastguard Worker# Contents of the .eh_frame section:
40*9880d681SAndroid Build Coastguard Worker#
41*9880d681SAndroid Build Coastguard Worker# 00000000 0000000000000014 00000000 CIE
42*9880d681SAndroid Build Coastguard Worker#   Version:               3
43*9880d681SAndroid Build Coastguard Worker#   Augmentation:          "zR"
44*9880d681SAndroid Build Coastguard Worker#   Code alignment factor: 1
45*9880d681SAndroid Build Coastguard Worker#   Data alignment factor: -8
46*9880d681SAndroid Build Coastguard Worker#   Return address column: 14
47*9880d681SAndroid Build Coastguard Worker#   Augmentation data:     1b
48*9880d681SAndroid Build Coastguard Worker#
49*9880d681SAndroid Build Coastguard Worker#   DW_CFA_def_cfa: r15 ofs 160
50*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
51*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
52*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
53*9880d681SAndroid Build Coastguard Worker#
54*9880d681SAndroid Build Coastguard Worker# 000000.. 000000000000002c 0000001c FDE cie=00000000 pc=0000000000000000..0000000000000032
55*9880d681SAndroid Build Coastguard Worker#   DW_CFA_advance_loc: 6 to 0000000000000006
56*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r13 at cfa-56
57*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r14 at cfa-48
58*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r15 at cfa-40
59*9880d681SAndroid Build Coastguard Worker#   DW_CFA_advance_loc: 4 to 000000000000000a
60*9880d681SAndroid Build Coastguard Worker#   DW_CFA_def_cfa_offset: 384
61*9880d681SAndroid Build Coastguard Worker#   DW_CFA_advance_loc: 32 to 000000000000002a
62*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r24 at cfa-224
63*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r28 at cfa-216
64*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r25 at cfa-208
65*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r29 at cfa-200
66*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r26 at cfa-192
67*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r30 at cfa-184
68*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r27 at cfa-176
69*9880d681SAndroid Build Coastguard Worker#   DW_CFA_offset: r31 at cfa-168
70*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
71*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
72*9880d681SAndroid Build Coastguard Worker#   DW_CFA_nop
73*9880d681SAndroid Build Coastguard Worker#
74*9880d681SAndroid Build Coastguard Worker# CHECK: Contents of section .eh_frame:
75*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0000 00000014 00000000 017a5200 01780e01  {{.*}}
76*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0010 1b0c0fa0 01000000 0000002c 0000001c  {{.*}}
77*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0020 00000000 00000032 00468d07 8e068f05  {{.*}}
78*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0030 440e8003 60981c9c 1b991a9d 199a189e  {{.*}}
79*9880d681SAndroid Build Coastguard Worker# CHECK-NEXT: 0040 179b169f 15000000                    {{.*}}
80