1# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \
2# RUN:   FileCheck %s --check-prefixes=CHECK,O32
3# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r6 | \
4# RUN:   FileCheck %s --check-prefixes=CHECK,O32
5# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 -target-abi=n32 | \
6# RUN:   FileCheck %s --check-prefixes=CHECK,N32
7# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r6 -target-abi=n32 | \
8# RUN:   FileCheck %s --check-prefixes=CHECK,N32
9
10# N64 should be acceptable too but we cannot convert la to dla yet.
11
12la $5, 0x00000001 # CHECK: addiu $5, $zero, 1      # encoding: [0x24,0x05,0x00,0x01]
13la $5, 0x00000002 # CHECK: addiu $5, $zero, 2      # encoding: [0x24,0x05,0x00,0x02]
14la $5, 0x00004000 # CHECK: addiu $5, $zero, 16384  # encoding: [0x24,0x05,0x40,0x00]
15la $5, 0x00008000 # CHECK: ori   $5, $zero, 32768  # encoding: [0x34,0x05,0x80,0x00]
16la $5, 0xffffffff # CHECK: addiu $5, $zero, -1     # encoding: [0x24,0x05,0xff,0xff]
17la $5, 0xfffffffe # CHECK: addiu $5, $zero, -2     # encoding: [0x24,0x05,0xff,0xfe]
18la $5, 0xffffc000 # CHECK: addiu $5, $zero, -16384 # encoding: [0x24,0x05,0xc0,0x00]
19la $5, 0xffff8000 # CHECK: addiu $5, $zero, -32768 # encoding: [0x24,0x05,0x80,0x00]
20
21la $5, 0x00010000 # CHECK: lui $5, 1      # encoding: [0x3c,0x05,0x00,0x01]
22la $5, 0x00020000 # CHECK: lui $5, 2      # encoding: [0x3c,0x05,0x00,0x02]
23la $5, 0x40000000 # CHECK: lui $5, 16384  # encoding: [0x3c,0x05,0x40,0x00]
24la $5, 0x80000000 # CHECK: lui $5, 32768  # encoding: [0x3c,0x05,0x80,0x00]
25la $5, 0xffff0000 # CHECK: lui $5, 65535  # encoding: [0x3c,0x05,0xff,0xff]
26la $5, 0xfffe0000 # CHECK: lui $5, 65534  # encoding: [0x3c,0x05,0xff,0xfe]
27la $5, 0xc0000000 # CHECK: lui $5, 49152  # encoding: [0x3c,0x05,0xc0,0x00]
28la $5, 0x80000000 # CHECK: lui $5, 32768  # encoding: [0x3c,0x05,0x80,0x00]
29
30la $5, 0x00010001 # CHECK: lui $5, 1        # encoding: [0x3c,0x05,0x00,0x01]
31                  # CHECK: ori $5, $5, 1    # encoding: [0x34,0xa5,0x00,0x01]
32la $5, 0x00020001 # CHECK: lui $5, 2        # encoding: [0x3c,0x05,0x00,0x02]
33                  # CHECK: ori $5, $5, 1    # encoding: [0x34,0xa5,0x00,0x01]
34la $5, 0x40000001 # CHECK: lui $5, 16384    # encoding: [0x3c,0x05,0x40,0x00]
35                  # CHECK: ori $5, $5, 1    # encoding: [0x34,0xa5,0x00,0x01]
36la $5, 0x80000001 # CHECK: lui $5, 32768    # encoding: [0x3c,0x05,0x80,0x00]
37                  # CHECK: ori $5, $5, 1    # encoding: [0x34,0xa5,0x00,0x01]
38la $5, 0x00010002 # CHECK: lui $5, 1        # encoding: [0x3c,0x05,0x00,0x01]
39                  # CHECK: ori $5, $5, 2    # encoding: [0x34,0xa5,0x00,0x02]
40la $5, 0x00020002 # CHECK: lui $5, 2        # encoding: [0x3c,0x05,0x00,0x02]
41                  # CHECK: ori $5, $5, 2    # encoding: [0x34,0xa5,0x00,0x02]
42la $5, 0x40000002 # CHECK: lui $5, 16384    # encoding: [0x3c,0x05,0x40,0x00]
43                  # CHECK: ori $5, $5, 2    # encoding: [0x34,0xa5,0x00,0x02]
44la $5, 0x80000002 # CHECK: lui $5, 32768    # encoding: [0x3c,0x05,0x80,0x00]
45                  # CHECK: ori $5, $5, 2    # encoding: [0x34,0xa5,0x00,0x02]
46la $5, 0x00014000 # CHECK: lui $5, 1        # encoding: [0x3c,0x05,0x00,0x01]
47                  # CHECK: ori $5, $5, 16384    # encoding: [0x34,0xa5,0x40,0x00]
48la $5, 0x00024000 # CHECK: lui $5, 2            # encoding: [0x3c,0x05,0x00,0x02]
49                  # CHECK: ori $5, $5, 16384    # encoding: [0x34,0xa5,0x40,0x00]
50la $5, 0x40004000 # CHECK: lui $5, 16384        # encoding: [0x3c,0x05,0x40,0x00]
51                  # CHECK: ori $5, $5, 16384    # encoding: [0x34,0xa5,0x40,0x00]
52la $5, 0x80004000 # CHECK: lui $5, 32768        # encoding: [0x3c,0x05,0x80,0x00]
53                  # CHECK: ori $5, $5, 16384    # encoding: [0x34,0xa5,0x40,0x00]
54la $5, 0x00018000 # CHECK: lui $5, 1            # encoding: [0x3c,0x05,0x00,0x01]
55                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
56la $5, 0x00028000 # CHECK: lui $5, 2            # encoding: [0x3c,0x05,0x00,0x02]
57                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
58la $5, 0x40008000 # CHECK: lui $5, 16384        # encoding: [0x3c,0x05,0x40,0x00]
59                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
60la $5, 0x80008000 # CHECK: lui $5, 32768        # encoding: [0x3c,0x05,0x80,0x00]
61                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
62la $5, 0xffff4000 # CHECK: lui $5, 65535        # encoding: [0x3c,0x05,0xff,0xff]
63                  # CHECK: ori $5, $5, 16384    # encoding: [0x34,0xa5,0x40,0x00]
64la $5, 0xfffe8000 # CHECK: lui $5, 65534        # encoding: [0x3c,0x05,0xff,0xfe]
65                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
66la $5, 0xc0008000 # CHECK: lui $5, 49152        # encoding: [0x3c,0x05,0xc0,0x00]
67                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
68la $5, 0x80008000 # CHECK: lui $5, 32768        # encoding: [0x3c,0x05,0x80,0x00]
69                  # CHECK: ori $5, $5, 32768    # encoding: [0x34,0xa5,0x80,0x00]
70
71la $5, 0x00000001($6) # CHECK: addiu $5, $6, 1         # encoding: [0x24,0xc5,0x00,0x01]
72la $5, 0x00000002($6) # CHECK: addiu $5, $6, 2         # encoding: [0x24,0xc5,0x00,0x02]
73la $5, 0x00004000($6) # CHECK: addiu $5, $6, 16384     # encoding: [0x24,0xc5,0x40,0x00]
74la $5, 0x00008000($6) # CHECK: ori   $5, $zero, 32768  # encoding: [0x34,0x05,0x80,0x00]
75                      # CHECK: addu $5, $5, $6         # encoding: [0x00,0xa6,0x28,0x21]
76la $5, 0xffffffff($6) # CHECK: addiu $5, $6, -1        # encoding: [0x24,0xc5,0xff,0xff]
77la $5, 0xfffffffe($6) # CHECK: addiu $5, $6, -2        # encoding: [0x24,0xc5,0xff,0xfe]
78la $5, 0xffffc000($6) # CHECK: addiu $5, $6, -16384    # encoding: [0x24,0xc5,0xc0,0x00]
79la $5, 0xffff8000($6) # CHECK: addiu $5, $6, -32768    # encoding: [0x24,0xc5,0x80,0x00]
80
81la $5, 0x00010000($6) # CHECK: lui $5, 1       # encoding: [0x3c,0x05,0x00,0x01]
82                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
83la $5, 0x00020000($6) # CHECK: lui $5, 2       # encoding: [0x3c,0x05,0x00,0x02]
84                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
85la $5, 0x40000000($6) # CHECK: lui $5, 16384   # encoding: [0x3c,0x05,0x40,0x00]
86                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
87la $5, 0x80000000($6) # CHECK: lui $5, 32768   # encoding: [0x3c,0x05,0x80,0x00]
88                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
89la $5, 0xffff0000($6) # CHECK: lui $5, 65535   # encoding: [0x3c,0x05,0xff,0xff]
90                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
91la $5, 0xfffe0000($6) # CHECK: lui $5, 65534   # encoding: [0x3c,0x05,0xff,0xfe]
92                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
93la $5, 0xc0000000($6) # CHECK: lui $5, 49152   # encoding: [0x3c,0x05,0xc0,0x00]
94                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
95la $5, 0x80000000($6) # CHECK: lui $5, 32768   # encoding: [0x3c,0x05,0x80,0x00]
96                      # CHECK: addu $5, $5, $6 # encoding: [0x00,0xa6,0x28,0x21]
97
98la $5, 0x00010001($6) # CHECK: lui $5, 1         # encoding: [0x3c,0x05,0x00,0x01]
99                      # CHECK: ori $5, $5, 1     # encoding: [0x34,0xa5,0x00,0x01]
100                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
101la $5, 0x00020001($6) # CHECK: lui $5, 2         # encoding: [0x3c,0x05,0x00,0x02]
102                      # CHECK: ori $5, $5, 1     # encoding: [0x34,0xa5,0x00,0x01]
103                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
104la $5, 0x40000001($6) # CHECK: lui $5, 16384     # encoding: [0x3c,0x05,0x40,0x00]
105                      # CHECK: ori $5, $5, 1     # encoding: [0x34,0xa5,0x00,0x01]
106                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
107la $5, 0x80000001($6) # CHECK: lui $5, 32768     # encoding: [0x3c,0x05,0x80,0x00]
108                      # CHECK: ori $5, $5, 1     # encoding: [0x34,0xa5,0x00,0x01]
109                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
110la $5, 0x00010002($6) # CHECK: lui $5, 1         # encoding: [0x3c,0x05,0x00,0x01]
111                      # CHECK: ori $5, $5, 2     # encoding: [0x34,0xa5,0x00,0x02]
112                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
113la $5, 0x00020002($6) # CHECK: lui $5, 2         # encoding: [0x3c,0x05,0x00,0x02]
114                      # CHECK: ori $5, $5, 2     # encoding: [0x34,0xa5,0x00,0x02]
115                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
116la $5, 0x40000002($6) # CHECK: lui $5, 16384     # encoding: [0x3c,0x05,0x40,0x00]
117                      # CHECK: ori $5, $5, 2     # encoding: [0x34,0xa5,0x00,0x02]
118                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
119la $5, 0x80000002($6) # CHECK: lui $5, 32768     # encoding: [0x3c,0x05,0x80,0x00]
120                      # CHECK: ori $5, $5, 2     # encoding: [0x34,0xa5,0x00,0x02]
121                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
122la $5, 0x00014000($6) # CHECK: lui $5, 1         # encoding: [0x3c,0x05,0x00,0x01]
123                      # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]
124                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
125la $5, 0x00024000($6) # CHECK: lui $5, 2         # encoding: [0x3c,0x05,0x00,0x02]
126                      # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]
127                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
128la $5, 0x40004000($6) # CHECK: lui $5, 16384     # encoding: [0x3c,0x05,0x40,0x00]
129                      # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]
130                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
131la $5, 0x80004000($6) # CHECK: lui $5, 32768     # encoding: [0x3c,0x05,0x80,0x00]
132                      # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]
133                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
134la $5, 0x00018000($6) # CHECK: lui $5, 1         # encoding: [0x3c,0x05,0x00,0x01]
135                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
136                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
137la $5, 0x00028000($6) # CHECK: lui $5, 2         # encoding: [0x3c,0x05,0x00,0x02]
138                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
139                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
140la $5, 0x40008000($6) # CHECK: lui $5, 16384     # encoding: [0x3c,0x05,0x40,0x00]
141                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
142                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
143la $5, 0x80008000($6) # CHECK: lui $5, 32768     # encoding: [0x3c,0x05,0x80,0x00]
144                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
145                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
146la $5, 0xffff4000($6) # CHECK: lui $5, 65535     # encoding: [0x3c,0x05,0xff,0xff]
147                      # CHECK: ori $5, $5, 16384 # encoding: [0x34,0xa5,0x40,0x00]
148                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
149la $5, 0xfffe8000($6) # CHECK: lui $5, 65534     # encoding: [0x3c,0x05,0xff,0xfe]
150                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
151                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
152la $5, 0xc0008000($6) # CHECK: lui $5, 49152     # encoding: [0x3c,0x05,0xc0,0x00]
153                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
154                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
155la $5, 0x80008000($6) # CHECK: lui $5, 32768     # encoding: [0x3c,0x05,0x80,0x00]
156                      # CHECK: ori $5, $5, 32768 # encoding: [0x34,0xa5,0x80,0x00]
157                      # CHECK: addu $5, $5, $6   # encoding: [0x00,0xa6,0x28,0x21]
158
159la $6, 0x00000001($6) # CHECK: addiu $6, $6, 1         # encoding: [0x24,0xc6,0x00,0x01]
160la $6, 0x00000002($6) # CHECK: addiu $6, $6, 2         # encoding: [0x24,0xc6,0x00,0x02]
161la $6, 0x00004000($6) # CHECK: addiu $6, $6, 16384     # encoding: [0x24,0xc6,0x40,0x00]
162la $6, 0x00008000($6) # CHECK: ori   $1, $zero, 32768  # encoding: [0x34,0x01,0x80,0x00]
163                      # CHECK: addu $6, $1, $6         # encoding: [0x00,0x26,0x30,0x21]
164la $6, 0xffffffff($6) # CHECK: addiu $6, $6, -1        # encoding: [0x24,0xc6,0xff,0xff]
165la $6, 0xfffffffe($6) # CHECK: addiu $6, $6, -2        # encoding: [0x24,0xc6,0xff,0xfe]
166la $6, 0xffffc000($6) # CHECK: addiu $6, $6, -16384    # encoding: [0x24,0xc6,0xc0,0x00]
167la $6, 0xffff8000($6) # CHECK: addiu $6, $6, -32768    # encoding: [0x24,0xc6,0x80,0x00]
168
169la $6, 0x00010000($6) # CHECK: lui $1, 1       # encoding: [0x3c,0x01,0x00,0x01]
170                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
171la $6, 0x00020000($6) # CHECK: lui $1, 2       # encoding: [0x3c,0x01,0x00,0x02]
172                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
173la $6, 0x40000000($6) # CHECK: lui $1, 16384   # encoding: [0x3c,0x01,0x40,0x00]
174                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
175la $6, 0x80000000($6) # CHECK: lui $1, 32768   # encoding: [0x3c,0x01,0x80,0x00]
176                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
177la $6, 0xffff0000($6) # CHECK: lui $1, 65535   # encoding: [0x3c,0x01,0xff,0xff]
178                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
179la $6, 0xfffe0000($6) # CHECK: lui $1, 65534   # encoding: [0x3c,0x01,0xff,0xfe]
180                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
181la $6, 0xc0000000($6) # CHECK: lui $1, 49152   # encoding: [0x3c,0x01,0xc0,0x00]
182                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
183la $6, 0x80000000($6) # CHECK: lui $1, 32768   # encoding: [0x3c,0x01,0x80,0x00]
184                      # CHECK: addu $6, $1, $6 # encoding: [0x00,0x26,0x30,0x21]
185
186la $6, 0x00010001($6) # CHECK: lui $1, 1         # encoding: [0x3c,0x01,0x00,0x01]
187                      # CHECK: ori $1, $1, 1     # encoding: [0x34,0x21,0x00,0x01]
188                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
189la $6, 0x00020001($6) # CHECK: lui $1, 2         # encoding: [0x3c,0x01,0x00,0x02]
190                      # CHECK: ori $1, $1, 1     # encoding: [0x34,0x21,0x00,0x01]
191                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
192la $6, 0x40000001($6) # CHECK: lui $1, 16384     # encoding: [0x3c,0x01,0x40,0x00]
193                      # CHECK: ori $1, $1, 1     # encoding: [0x34,0x21,0x00,0x01]
194                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
195la $6, 0x80000001($6) # CHECK: lui $1, 32768     # encoding: [0x3c,0x01,0x80,0x00]
196                      # CHECK: ori $1, $1, 1     # encoding: [0x34,0x21,0x00,0x01]
197                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
198la $6, 0x00010002($6) # CHECK: lui $1, 1         # encoding: [0x3c,0x01,0x00,0x01]
199                      # CHECK: ori $1, $1, 2     # encoding: [0x34,0x21,0x00,0x02]
200                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
201la $6, 0x00020002($6) # CHECK: lui $1, 2         # encoding: [0x3c,0x01,0x00,0x02]
202                      # CHECK: ori $1, $1, 2     # encoding: [0x34,0x21,0x00,0x02]
203                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
204la $6, 0x40000002($6) # CHECK: lui $1, 16384     # encoding: [0x3c,0x01,0x40,0x00]
205                      # CHECK: ori $1, $1, 2     # encoding: [0x34,0x21,0x00,0x02]
206                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
207la $6, 0x80000002($6) # CHECK: lui $1, 32768     # encoding: [0x3c,0x01,0x80,0x00]
208                      # CHECK: ori $1, $1, 2     # encoding: [0x34,0x21,0x00,0x02]
209                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
210la $6, 0x00014000($6) # CHECK: lui $1, 1         # encoding: [0x3c,0x01,0x00,0x01]
211                      # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]
212                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
213la $6, 0x00024000($6) # CHECK: lui $1, 2         # encoding: [0x3c,0x01,0x00,0x02]
214                      # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]
215                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
216la $6, 0x40004000($6) # CHECK: lui $1, 16384     # encoding: [0x3c,0x01,0x40,0x00]
217                      # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]
218                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
219la $6, 0x80004000($6) # CHECK: lui $1, 32768     # encoding: [0x3c,0x01,0x80,0x00]
220                      # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]
221                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
222la $6, 0x00018000($6) # CHECK: lui $1, 1         # encoding: [0x3c,0x01,0x00,0x01]
223                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
224                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
225la $6, 0x00028000($6) # CHECK: lui $1, 2         # encoding: [0x3c,0x01,0x00,0x02]
226                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
227                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
228la $6, 0x40008000($6) # CHECK: lui $1, 16384     # encoding: [0x3c,0x01,0x40,0x00]
229                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
230                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
231la $6, 0x80008000($6) # CHECK: lui $1, 32768     # encoding: [0x3c,0x01,0x80,0x00]
232                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
233                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
234la $6, 0xffff4000($6) # CHECK: lui $1, 65535     # encoding: [0x3c,0x01,0xff,0xff]
235                      # CHECK: ori $1, $1, 16384 # encoding: [0x34,0x21,0x40,0x00]
236                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
237la $6, 0xfffe8000($6) # CHECK: lui $1, 65534     # encoding: [0x3c,0x01,0xff,0xfe]
238                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
239                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
240la $6, 0xc0008000($6) # CHECK: lui $1, 49152     # encoding: [0x3c,0x01,0xc0,0x00]
241                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
242                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
243la $6, 0x80008000($6) # CHECK: lui $1, 32768     # encoding: [0x3c,0x01,0x80,0x00]
244                      # CHECK: ori $1, $1, 32768 # encoding: [0x34,0x21,0x80,0x00]
245                      # CHECK: addu $6, $1, $6   # encoding: [0x00,0x26,0x30,0x21]
246
247la $5, symbol         # CHECK: lui $5, %hi(symbol)       # encoding: [0x3c,0x05,A,A]
248                      # CHECK:                           #   fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
249                      # CHECK: addiu $5, $5, %lo(symbol) # encoding: [0x24,0xa5,A,A]
250                      # CHECK:                           #   fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
251la $5, symbol($6)     # CHECK: lui $5, %hi(symbol)       # encoding: [0x3c,0x05,A,A]
252                      # CHECK:                           #   fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
253                      # CHECK: addiu $5, $5, %lo(symbol) # encoding: [0x24,0xa5,A,A]
254                      # CHECK:                           #   fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
255                      # CHECK: addu $5, $5, $6           # encoding: [0x00,0xa6,0x28,0x21]
256la $6, symbol($6)     # CHECK: lui $1, %hi(symbol)       # encoding: [0x3c,0x01,A,A]
257                      # CHECK:                           #   fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
258                      # CHECK: addiu $1, $1, %lo(symbol) # encoding: [0x24,0x21,A,A]
259                      # CHECK:                           #   fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
260                      # CHECK: addu $6, $1, $6           # encoding: [0x00,0x26,0x30,0x21]
261la $5, symbol+8       # CHECK: lui $5, %hi(symbol+8)       # encoding: [0x3c,0x05,A,A]
262                      # CHECK:                             #   fixup A - offset: 0, value: %hi(symbol+8), kind: fixup_Mips_HI16
263                      # CHECK: addiu $5, $5, %lo(symbol+8) # encoding: [0x24,0xa5,A,A]
264                      # CHECK:                             #   fixup A - offset: 0, value: %lo(symbol+8), kind: fixup_Mips_LO16
265la $5, symbol+8($6)   # CHECK: lui $5, %hi(symbol+8)       # encoding: [0x3c,0x05,A,A]
266                      # CHECK:                             #   fixup A - offset: 0, value: %hi(symbol+8), kind: fixup_Mips_HI16
267                      # CHECK: addiu $5, $5, %lo(symbol+8) # encoding: [0x24,0xa5,A,A]
268                      # CHECK:                             #   fixup A - offset: 0, value: %lo(symbol+8), kind: fixup_Mips_LO16
269                      # CHECK: addu $5, $5, $6             # encoding: [0x00,0xa6,0x28,0x21]
270la $6, symbol+8($6)   # CHECK: lui $1, %hi(symbol+8)       # encoding: [0x3c,0x01,A,A]
271                      # CHECK:                             #   fixup A - offset: 0, value: %hi(symbol+8), kind: fixup_Mips_HI16
272                      # CHECK: addiu $1, $1, %lo(symbol+8) # encoding: [0x24,0x21,A,A]
273                      # CHECK:                             #   fixup A - offset: 0, value: %lo(symbol+8), kind: fixup_Mips_LO16
274                      # CHECK: addu $6, $1, $6             # encoding: [0x00,0x26,0x30,0x21]
275la $5, 1f             # O32: lui $5, %hi($tmp0)            # encoding: [0x3c,0x05,A,A]
276                      # O32:                               #   fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI16
277                      # O32: addiu $5, $5, %lo($tmp0)      # encoding: [0x24,0xa5,A,A]
278                      # O32:                               #   fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16
279                      # N32: lui $5, %hi(.Ltmp0)           # encoding: [0x3c,0x05,A,A]
280                      # N32:                               #   fixup A - offset: 0, value: %hi(.Ltmp0), kind: fixup_Mips_HI16
281                      # N32: addiu $5, $5, %lo(.Ltmp0)     # encoding: [0x24,0xa5,A,A]
282                      # N32:                               #   fixup A - offset: 0, value: %lo(.Ltmp0), kind: fixup_Mips_LO16
2831:
284