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
85
86
87
88
89
90
|
# Description of the testcase:
# Set of two chunks. Fist tests `movk`, second tests `movz`.
#
# Each chunk has 4 subparts. Those subparts check all viable relocations for
# a size which fits into the bottom 16, 32, 48, and 64 bits respectively.
.data
.globl sym1
.size sym1, 0xa0a0
sym1:
.xword 0
.globl sym2
.size sym2, 0xa0a0b0b0
sym2:
.xword 0
.globl sym3
.size sym3, 0xa0a0b0b0c0c0
sym3:
.xword 0
.globl sym4
.size sym4, 0xa0a0b0b0c0c0d0d0
sym4:
.xword 0
.text
.globl _start
.type _start, STT_FUNC
_start:
movk x12, #:size_g0:sym1
movk x12, #:size_g0_nc:sym1
movk x12, #:size_g1:sym1
movk x12, #:size_g1_nc:sym1
movk x12, #:size_g2:sym1
movk x12, #:size_g2_nc:sym1
movk x12, #:size_g3:sym1
# movk x13, #:size_g0:sym2
movk x13, #:size_g0_nc:sym2
movk x13, #:size_g1:sym2
movk x13, #:size_g1_nc:sym2
movk x13, #:size_g2:sym2
movk x13, #:size_g2_nc:sym2
movk x13, #:size_g3:sym2
# movk x13, #:size_g0:sym3
movk x13, #:size_g0_nc:sym3
# movk x13, #:size_g1:sym3
movk x13, #:size_g1_nc:sym3
movk x13, #:size_g2:sym3
movk x13, #:size_g2_nc:sym3
movk x13, #:size_g3:sym3
# movk x13, #:size_g0:sym4
movk x13, #:size_g0_nc:sym4
# movk x13, #:size_g1:sym4
movk x13, #:size_g1_nc:sym4
# movk x13, #:size_g2:sym4
movk x13, #:size_g2_nc:sym4
movk x13, #:size_g3:sym4
movz x12, #:size_g0:sym1
movz x12, #:size_g0_nc:sym1
movz x12, #:size_g1:sym1
movz x12, #:size_g1_nc:sym1
movz x12, #:size_g2:sym1
movz x12, #:size_g2_nc:sym1
movz x12, #:size_g3:sym1
# movz x13, #:size_g0:sym2
movz x13, #:size_g0_nc:sym2
movz x13, #:size_g1:sym2
movz x13, #:size_g1_nc:sym2
movz x13, #:size_g2:sym2
movz x13, #:size_g2_nc:sym2
movz x13, #:size_g3:sym2
# movz x13, #:size_g0:sym3
movz x13, #:size_g0_nc:sym3
# movz x13, #:size_g1:sym3
movz x13, #:size_g1_nc:sym3
movz x13, #:size_g2:sym3
movz x13, #:size_g2_nc:sym3
movz x13, #:size_g3:sym3
# movz x13, #:size_g0:sym4
movz x13, #:size_g0_nc:sym4
# movz x13, #:size_g1:sym4
movz x13, #:size_g1_nc:sym4
# movz x13, #:size_g2:sym4
movz x13, #:size_g2_nc:sym4
movz x13, #:size_g3:sym4
|