1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
.comm data0,4,4
.text
.align 2
.global main
.type main, %function
main:
sub sp, sp, #16
mov x7, 13
str w7, [sp,12]
b e843419
ret
.size main, .-main
.section .e843419, "xa"
.align 2
.global e843419
.type e843419, %function
e843419:
sub sp, sp, #16
mov x7, 13
str w7, [sp,12]
b e843419_1
.fill 4072,1,0
e843419_1:
adrp x0, data0
str x7, [x0,12]
mov x8, 9
str x8, [x0, :lo12:data0]
add x0, x1, x5
ldr w7, [sp,12]
add w0, w7, w7
add sp, sp, 16
b e835769
ret
.size e843419, .-e843419
.section .e835769, "xa"
.align 2
.global e835769
.type e835769, %function
e835769:
ldr w7, [x4,8]!
mul w6, w0, w1
ldr x4, [x4]
madd x5, x2, x3, x6
mov x0, x5
ret
.size e835769, .-e835769
# ---
# ---
.data
data0:
.fill 8,1,255
.balign 512
.fill 4,1,255
# double word access that crosses a 64 bit boundary
data1:
.fill 2,1,255
# word access that crosses a 64 boundary
data2:
.fill 2,1,255
data5:
.fill 4,1,255
# double word access that crosses a 128 boundary
data3:
.fill 2,1,255
# word access that crosses a 128 bit boundary
data4:
.fill 2,1,255
data6:
.fill 496,1,255
|