summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/aarch64/reloc-size.s
blob: 04bff10a43556bba323d8a3408f1ead94394a081 (plain)
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