OSDN Git Service

Update aosp/master LLVM for rebase to r256229
[android-x86/external-llvm.git] / test / MC / Mips / macro-dla.s
1 # RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 | \
2 # RUN:   FileCheck %s
3 # RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r6 | \
4 # RUN:   FileCheck %s
5
6 bits_32_to_47_0x0000:           # CHECK-LABEL: bits_32_to_47_0x0000:
7 dla $5, 0x0000000000000001      # CHECK: daddiu $5, $zero, 1         # encoding: [0x64,0x05,0x00,0x01]
8 dla $5, 0x0000000000000002      # CHECK: daddiu $5, $zero, 2         # encoding: [0x64,0x05,0x00,0x02]
9 dla $5, 0x0000000000004000      # CHECK: daddiu $5, $zero, 16384     # encoding: [0x64,0x05,0x40,0x00]
10 dla $5, 0x0000000000008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
11 dla $5, 0x00000000ffff8000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
12                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
13                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
14 dla $5, 0x00000000ffffc000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
15                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
16                                 # CHECK: ori $5, $5, 49152           # encoding: [0x34,0xa5,0xc0,0x00]
17 dla $5, 0x00000000fffffffe      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
18                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
19                                 # CHECK: ori $5, $5, 65534           # encoding: [0x34,0xa5,0xff,0xfe]
20 dla $5, 0x00000000ffffffff      # CHECK: lui $5, 65535               # encoding: [0x3c,0x05,0xff,0xff]
21                                 # CHECK: dsrl32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3e]
22 dla $5, 0x0000000000010000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
23 dla $5, 0x0000000000020000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
24 dla $5, 0x0000000040000000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
25 dla $5, 0x0000000080000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
26                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
27 dla $5, 0x00000000c0000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
28                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
29 dla $5, 0x00000000fffe0000      # CHECK: ori $5, $zero, 65534        # encoding: [0x34,0x05,0xff,0xfe]
30                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
31 dla $5, 0x00000000ffff0000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
32                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
33 dla $5, 0x0000000000010001      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
34                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
35 dla $5, 0x0000000000020001      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
36                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
37 dla $5, 0x0000000040000001      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
38                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
39 dla $5, 0x0000000080000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
40                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
41                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
42 dla $5, 0x0000000000010002      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
43                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
44 dla $5, 0x0000000000020002      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
45                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
46 dla $5, 0x0000000040000002      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
47                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
48 dla $5, 0x0000000080000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
49                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
50                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
51 dla $5, 0x0000000000014000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
52                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
53 dla $5, 0x0000000000024000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
54                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
55 dla $5, 0x0000000040004000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
56                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
57 dla $5, 0x0000000080004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
58                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
59                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
60 dla $5, 0x0000000000018000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
61                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
62 dla $5, 0x0000000000028000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
63                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
64 dla $5, 0x0000000040008000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
65                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
66 dla $5, 0x0000000080008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
67                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
68                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
69 dla $5, 0x00000000c0008000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
70                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
71                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
72 dla $5, 0x00000000fffe8000      # CHECK: ori $5, $zero, 65534        # encoding: [0x34,0x05,0xff,0xfe]
73                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
74                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
75 dla $5, 0x00000000ffff8000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
76                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
77                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
78 bits_32_to_47_0x0001:           # CHECK-LABEL: bits_32_to_47_0x0001:
79 dla $5, 0x0000000100000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
80                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
81 dla $5, 0x0000000100000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
82                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
83                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
84 dla $5, 0x0000000100000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
85                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
86                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
87 dla $5, 0x0000000100004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
88                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
89                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
90 dla $5, 0x0000000100008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
91                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
92                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
93 dla $5, 0x0000000100010000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
94                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
95                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
96                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
97 dla $5, 0x0000000100010001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
98                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
99                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
100                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
101                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
102 dla $5, 0x0000000100010002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
103                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
104                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
105                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
106                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
107 dla $5, 0x0000000100014000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
108                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
109                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
110                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
111                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
112 dla $5, 0x0000000100018000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
113                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
114                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
115                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
116                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
117 dla $5, 0x0000000100020000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
118                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
119 dla $5, 0x0000000100020001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
120                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
121                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
122                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
123                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
124 dla $5, 0x0000000100020002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
125                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
126                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
127                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
128                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
129 dla $5, 0x0000000100024000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
130                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
131                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
132                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
133                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
134 dla $5, 0x0000000100028000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
135                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
136                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
137                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
138                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
139 dla $5, 0x0000000140000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
140                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
141 dla $5, 0x0000000140000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
142                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
143                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
144                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
145                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
146 dla $5, 0x0000000140000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
147                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
148                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
149                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
150                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
151 dla $5, 0x0000000140004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
152                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
153                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
154                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
155                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
156 dla $5, 0x0000000140008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
157                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
158                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
159                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
160                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
161 dla $5, 0x0000000180000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
162                                 # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
163 dla $5, 0x0000000180000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
164                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
165                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
166                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
167                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
168 dla $5, 0x0000000180000002      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
169                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
170                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
171                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
172                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
173 dla $5, 0x0000000180004000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
174                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
175                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
176                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
177                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
178 dla $5, 0x0000000180008000      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
179                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
180                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
181                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
182                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
183 bits_32_to_47_0x0002:           # CHECK-LABEL: bits_32_to_47_0x0002:
184 dla $5, 0x0000000200000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
185                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
186 dla $5, 0x0000000200000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
187                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
188                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
189 dla $5, 0x0000000200000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
190                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
191                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
192 dla $5, 0x0000000200004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
193                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
194                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
195 dla $5, 0x0000000200008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
196                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
197                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
198 dla $5, 0x0000000200010000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
199                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
200                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
201                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
202 dla $5, 0x0000000200010001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
203                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
204                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
205                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
206                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
207 dla $5, 0x0000000200010002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
208                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
209                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
210                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
211                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
212 dla $5, 0x0000000200014000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
213                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
214                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
215                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
216                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
217 dla $5, 0x0000000200018000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
218                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
219                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
220                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
221                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
222 dla $5, 0x0000000200020000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
223                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
224                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
225                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
226 dla $5, 0x0000000200020001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
227                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
228                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
229                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
230                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
231 dla $5, 0x0000000200020002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
232                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
233                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
234                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
235                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
236 dla $5, 0x0000000200024000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
237                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
238                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
239                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
240                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
241 dla $5, 0x0000000200028000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
242                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
243                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
244                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
245                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
246 dla $5, 0x0000000240000000      # CHECK: ori $5, $zero, 36864        # encoding: [0x34,0x05,0x90,0x00]
247                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
248 dla $5, 0x0000000240000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
249                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
250                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
251                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
252                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
253 dla $5, 0x0000000240000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
254                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
255                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
256                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
257                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
258 dla $5, 0x0000000240004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
259                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
260                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
261                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
262                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
263 dla $5, 0x0000000240008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
264                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
265                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
266                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
267                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
268 dla $5, 0x0000000280000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
269                                 # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
270 dla $5, 0x0000000280000001      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
271                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
272                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
273                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
274                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
275 dla $5, 0x0000000280000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
276                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
277                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
278                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
279                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
280 dla $5, 0x0000000280004000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
281                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
282                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
283                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
284                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
285 dla $5, 0x0000000280008000      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
286                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
287                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
288                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
289                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
290 bits_32_to_47_0x4000:           # CHECK-LABEL: bits_32_to_47_0x4000:
291 dla $5, 0x0000400000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
292                                 # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
293 dla $5, 0x0000400000000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
294                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
295                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
296 dla $5, 0x0000400000000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
297                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
298                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
299 dla $5, 0x0000400000004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
300                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
301                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
302 dla $5, 0x0000400000008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
303                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
304                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
305 dla $5, 0x0000400000010000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
306                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
307                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
308                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
309 dla $5, 0x0000400000010001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
310                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
311                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
312                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
313                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
314 dla $5, 0x0000400000010002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
315                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
316                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
317                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
318                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
319 dla $5, 0x0000400000014000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
320                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
321                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
322                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
323                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
324 dla $5, 0x0000400000018000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
325                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
326                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
327                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
328                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
329 dla $5, 0x0000400000020000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
330                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
331                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
332                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
333 dla $5, 0x0000400000020001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
334                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
335                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
336                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
337                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
338 dla $5, 0x0000400000020002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
339                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
340                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
341                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
342                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
343 dla $5, 0x0000400000024000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
344                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
345                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
346                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
347                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
348 dla $5, 0x0000400000028000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
349                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
350                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
351                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
352                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
353 dla $5, 0x0000400040000000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
354                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
355                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
356                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
357 dla $5, 0x0000400040000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
358                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
359                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
360                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
361                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
362 dla $5, 0x0000400040000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
363                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
364                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
365                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
366                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
367 dla $5, 0x0000400040004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
368                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
369                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
370                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
371                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
372 dla $5, 0x0000400040008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
373                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
374                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
375                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
376                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
377 dla $5, 0x0000400080000000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
378                                 # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
379 dla $5, 0x0000400080000001      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
380                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
381                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
382                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
383                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
384 dla $5, 0x0000400080000002      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
385                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
386                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
387                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
388                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
389 dla $5, 0x0000400080004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
390                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
391                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
392                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
393                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
394 dla $5, 0x0000400080008000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
395                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
396                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
397                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
398                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
399 bits_32_to_47_0x8000:           # CHECK-LABEL: bits_32_to_47_0x8000:
400 dla $5, 0x0000800000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
401                                 # CHECK: dsll $5, $5, 32             # encoding: [0x00,0x05,0x28,0x3c]
402 dla $5, 0x0000800000000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
403                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
404                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
405 dla $5, 0x0000800000000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
406                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
407                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
408 dla $5, 0x0000800000004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
409                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
410                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
411 dla $5, 0x0000800000008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
412                                 # CHECK: dsll32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3c]
413                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
414 dla $5, 0x0000800000010000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
415                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
416                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
417                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
418 dla $5, 0x0000800000010001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
419                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
420                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
421                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
422                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
423 dla $5, 0x0000800000010002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
424                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
425                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
426                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
427                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
428 dla $5, 0x0000800000014000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
429                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
430                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
431                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
432                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
433 dla $5, 0x0000800000018000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
434                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
435                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
436                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
437                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
438 dla $5, 0x0000800000020000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
439                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
440                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
441                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
442 dla $5, 0x0000800000020001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
443                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
444                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
445                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
446                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
447 dla $5, 0x0000800000020002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
448                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
449                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
450                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
451                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
452 dla $5, 0x0000800000024000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
453                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
454                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
455                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
456                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
457 dla $5, 0x0000800000028000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
458                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
459                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
460                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
461                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
462 dla $5, 0x0000800040000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
463                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
464                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
465                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
466 dla $5, 0x0000800040000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
467                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
468                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
469                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
470                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
471 dla $5, 0x0000800040000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
472                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
473                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
474                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
475                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
476 dla $5, 0x0000800040004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
477                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
478                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
479                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
480                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
481 dla $5, 0x0000800040008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
482                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
483                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
484                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
485                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
486 dla $5, 0x0000800080000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
487                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
488                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
489                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
490 dla $5, 0x0000800080000001      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
491                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
492                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
493                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
494                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
495 dla $5, 0x0000800080000002      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
496                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
497                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
498                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
499                                 # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
500 dla $5, 0x0000800080004000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
501                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
502                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
503                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
504                                 # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
505 dla $5, 0x0000800080008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
506                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
507                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
508                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
509                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
510 # Only test a few with bits 48-63 non-zero. It just adds an lui to the cases we've already done.
511 dla $5, 0x0001800080008000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
512                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
513                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
514                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
515                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
516                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
517 dla $5, 0x0002800080008000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
518                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
519                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
520                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
521                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
522                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
523 dla $5, 0x4000800080008000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
524                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
525                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
526                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
527                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
528                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
529 dla $5, 0x8000800080008000      # CHECK: lui $5, 32768               # encoding: [0x3c,0x05,0x80,0x00]
530                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
531                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
532                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
533                                 # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
534                                 # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
535
536 dla $5, 0x000000000($6)         # CHECK: daddiu $5, $6, 0            # encoding: [0x64,0xc5,0x00,0x00]
537 dla $5, 0x00000001($6)          # CHECK: daddiu $5, $6, 1            # encoding: [0x64,0xc5,0x00,0x01]
538 dla $5, 0x00000002($6)          # CHECK: daddiu $5, $6, 2            # encoding: [0x64,0xc5,0x00,0x02]
539 dla $5, 0x00004000($6)          # CHECK: daddiu $5, $6, 16384        # encoding: [0x64,0xc5,0x40,0x00]
540 dla $5, 0x00008000($6)          # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
541                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
542 dla $5, 0xffffffff($6)          # CHECK: lui     $5, 65535           # encoding: [0x3c,0x05,0xff,0xff]
543                                 # CHECK: dsrl32  $5, $5, 0           # encoding: [0x00,0x05,0x28,0x3e]
544                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
545 dla $5, 0xfffffffe($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
546                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
547                                 # CHECK: ori     $5, $5, 65534       # encoding: [0x34,0xa5,0xff,0xfe]
548                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
549 dla $5, 0xffffc000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
550                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
551                                 # CHECK: ori     $5, $5, 49152       # encoding: [0x34,0xa5,0xc0,0x00]
552                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
553 dla $5, 0xffff8000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
554                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
555                                 # CHECK: ori     $5, $5, 32768       # encoding: [0x34,0xa5,0x80,0x00]
556                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
557
558 dla $5, 0x00010000($6)          # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
559                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
560 dla $5, 0x00020000($6)          # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
561                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
562 dla $5, 0x40000000($6)          # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
563                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
564 dla $5, 0x80000000($6)          # CHECK: ori     $5, $zero, 32768    # encoding: [0x34,0x05,0x80,0x00]
565                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
566                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
567 dla $5, 0xffff0000($6)          # CHECK: ori     $5, $zero, 65535    # encoding: [0x34,0x05,0xff,0xff]
568                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
569                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
570 dla $5, 0xfffe0000($6)          # CHECK: ori     $5, $zero, 65534    # encoding: [0x34,0x05,0xff,0xfe]
571                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
572                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
573 dla $5, 0xc0000000($6)          # CHECK: ori     $5, $zero, 49152    # encoding: [0x34,0x05,0xc0,0x00]
574                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
575                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
576 dla $5, 0x80000000($6)          # CHECK: ori     $5, $zero, 32768    # encoding: [0x34,0x05,0x80,0x00]
577                                 # CHECK: dsll    $5, $5, 16          # encoding: [0x00,0x05,0x2c,0x38]
578                                 # CHECK: daddu   $5, $5, $6          # encoding: [0x00,0xa6,0x28,0x2d]
579
580 dla $5, 0x00010001($6)          # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
581                                 # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
582                                 # CHECK: daddu $5, $5, $6            # encoding: [0x00,0xa6,0x28,0x2d]
583 # There are no further interesting immediates.
584
585 dla $6, 0x00000001($6)          # CHECK: daddiu $6, $6, 1            # encoding: [0x64,0xc6,0x00,0x01]
586 dla $6, 0x00000002($6)          # CHECK: daddiu $6, $6, 2            # encoding: [0x64,0xc6,0x00,0x02]
587 dla $6, 0x00004000($6)          # CHECK: daddiu $6, $6, 16384        # encoding: [0x64,0xc6,0x40,0x00]
588 dla $6, 0x00008000($6)          # CHECK: ori $1, $zero, 32768        # encoding: [0x34,0x01,0x80,0x00]
589                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
590 dla $6, 0xffffffff($6)          # CHECK: lui     $1, 65535           # encoding: [0x3c,0x01,0xff,0xff]
591                                 # CHECK: dsrl32  $1, $1, 0           # encoding: [0x00,0x01,0x08,0x3e]
592                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
593 dla $6, 0xfffffffe($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
594                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
595                                 # CHECK: ori     $1, $1, 65534       # encoding: [0x34,0x21,0xff,0xfe]
596                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
597 dla $6, 0xffffc000($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
598                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
599                                 # CHECK: ori     $1, $1, 49152       # encoding: [0x34,0x21,0xc0,0x00]
600                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
601 dla $6, 0xffff8000($6)          # CHECK: ori     $1, $zero, 65535    # encoding: [0x34,0x01,0xff,0xff]
602                                 # CHECK: dsll    $1, $1, 16          # encoding: [0x00,0x01,0x0c,0x38]
603                                 # CHECK: ori     $1, $1, 32768       # encoding: [0x34,0x21,0x80,0x00]
604                                 # CHECK: daddu   $6, $1, $6          # encoding: [0x00,0x26,0x30,0x2d]
605
606 dla $6, 0x00010000($6)          # CHECK: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
607                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
608 dla $6, 0x00020000($6)          # CHECK: lui $1, 2                   # encoding: [0x3c,0x01,0x00,0x02]
609                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
610 dla $6, 0x40000000($6)          # CHECK: lui $1, 16384               # encoding: [0x3c,0x01,0x40,0x00]
611                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
612 dla $6, 0x80000000($6)          # CHECK: ori   $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
613                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
614                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
615 dla $6, 0xffff0000($6)          # CHECK: ori   $1, $zero, 65535      # encoding: [0x34,0x01,0xff,0xff]
616                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
617                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
618 dla $6, 0xfffe0000($6)          # CHECK: ori   $1, $zero, 65534      # encoding: [0x34,0x01,0xff,0xfe]
619                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
620                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
621 dla $6, 0xc0000000($6)          # CHECK: ori   $1, $zero, 49152      # encoding: [0x34,0x01,0xc0,0x00]
622                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
623                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
624 dla $6, 0x80000000($6)          # CHECK: ori   $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
625                                 # CHECK: dsll  $1, $1, 16            # encoding: [0x00,0x01,0x0c,0x38]
626                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
627
628 dla $6, 0x00010001($6)          # CHECK: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
629                                 # CHECK: ori $1, $1, 1               # encoding: [0x34,0x21,0x00,0x01]
630                                 # CHECK: daddu $6, $1, $6            # encoding: [0x00,0x26,0x30,0x2d]
631 # There are no further interesting immediates.
632
633 symbol:           # CHECK-LABEL: symbol:
634 .extern extern_sym
635 .option pic0
636 dla $5, extern_sym     # CHECK: lui $5, %highest(extern_sym)       # encoding: [0x3c,0x05,A,A]
637                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
638                        # CHECK: lui $1, %hi(extern_sym)            # encoding: [0x3c,0x01,A,A]
639                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
640                        # CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]
641                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
642                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
643                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
644                        # CHECK: dsll32  $5, $5, 0                  # encoding: [0x00,0x05,0x28,0x3c]
645                        # CHECK: daddu   $5, $5, $1                 # encoding: [0x00,0xa1,0x28,0x2d]
646
647 dla $5, extern_sym($8) # CHECK: lui $5, %highest(extern_sym)       # encoding: [0x3c,0x05,A,A]
648                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
649                        # CHECK: lui $1, %hi(extern_sym)            # encoding: [0x3c,0x01,A,A]
650                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
651                        # CHECK: daddiu $5, $5, %higher(extern_sym) # encoding: [0x64,0xa5,A,A]
652                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
653                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
654                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
655                        # CHECK: dsll32  $5, $5, 0                  # encoding: [0x00,0x05,0x28,0x3c]
656                        # CHECK: daddu   $5, $5, $1                 # encoding: [0x00,0xa1,0x28,0x2d]
657                        # CHECK: daddu   $5, $5, $8                 # encoding: [0x00,0xa8,0x28,0x2d]
658
659 dla $5, extern_sym($5) # CHECK: lui $1, %highest(extern_sym)       # encoding: [0x3c,0x01,A,A]
660                        # CHECK:                                    # fixup A - offset: 0, value: %highest(extern_sym), kind: fixup_Mips_HIGHEST
661                        # CHECK: daddiu $1, $1, %higher(extern_sym) # encoding: [0x64,0x21,A,A]
662                        # CHECK:                                    # fixup A - offset: 0, value: %higher(extern_sym), kind: fixup_Mips_HIGHER
663                        # CHECK: dsll $1, $1, 16                    # encoding: [0x00,0x01,0x0c,0x38]
664                        # CHECK: daddiu $1, $1, %hi(extern_sym)     # encoding: [0x64,0x21,A,A]
665                        # CHECK:                                    # fixup A - offset: 0, value: %hi(extern_sym), kind: fixup_Mips_HI16
666                        # CHECK: dsll $1, $1, 16                    # encoding: [0x00,0x01,0x0c,0x38]
667                        # CHECK: daddiu $1, $1, %lo(extern_sym)     # encoding: [0x64,0x21,A,A]
668                        # CHECK:                                    # fixup A - offset: 0, value: %lo(extern_sym), kind: fixup_Mips_LO16
669                        # CHECK: daddu   $5, $1, $5                 # encoding: [0x00,0x25,0x28,0x2d]
670
671 dla $5, extern_sym+8     # CHECK: lui $5, %highest(extern_sym+8)       # encoding: [0x3c,0x05,A,A]
672                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
673                          # CHECK: lui $1, %hi(extern_sym+8)            # encoding: [0x3c,0x01,A,A]
674                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
675                          # CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]
676                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
677                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
678                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
679                          # CHECK: dsll32  $5, $5, 0                    # encoding: [0x00,0x05,0x28,0x3c]
680                          # CHECK: daddu   $5, $5, $1                   # encoding: [0x00,0xa1,0x28,0x2d]
681
682 dla $5, extern_sym+8($8) # CHECK: lui $5, %highest(extern_sym+8)       # encoding: [0x3c,0x05,A,A]
683                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
684                          # CHECK: lui $1, %hi(extern_sym+8)            # encoding: [0x3c,0x01,A,A]
685                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
686                          # CHECK: daddiu $5, $5, %higher(extern_sym+8) # encoding: [0x64,0xa5,A,A]
687                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
688                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
689                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
690                          # CHECK: dsll32  $5, $5, 0                    # encoding: [0x00,0x05,0x28,0x3c]
691                          # CHECK: daddu   $5, $5, $1                   # encoding: [0x00,0xa1,0x28,0x2d]
692                          # CHECK: daddu   $5, $5, $8                   # encoding: [0x00,0xa8,0x28,0x2d]
693
694 dla $5, extern_sym+8($5) # CHECK: lui $1, %highest(extern_sym+8)       # encoding: [0x3c,0x01,A,A]
695                          # CHECK:                                      # fixup A - offset: 0, value: %highest(extern_sym+8), kind: fixup_Mips_HIGHEST
696                          # CHECK: daddiu $1, $1, %higher(extern_sym+8) # encoding: [0x64,0x21,A,A]
697                          # CHECK:                                      # fixup A - offset: 0, value: %higher(extern_sym+8), kind: fixup_Mips_HIGHER
698                          # CHECK: dsll $1, $1, 16                      # encoding: [0x00,0x01,0x0c,0x38]
699                          # CHECK: daddiu $1, $1, %hi(extern_sym+8)     # encoding: [0x64,0x21,A,A]
700                          # CHECK:                                      # fixup A - offset: 0, value: %hi(extern_sym+8), kind: fixup_Mips_HI16
701                          # CHECK: dsll $1, $1, 16                      # encoding: [0x00,0x01,0x0c,0x38]
702                          # CHECK: daddiu $1, $1, %lo(extern_sym+8)     # encoding: [0x64,0x21,A,A]
703                          # CHECK:                                      # fixup A - offset: 0, value: %lo(extern_sym+8), kind: fixup_Mips_LO16
704                          # CHECK: daddu   $5, $1, $5                   # encoding: [0x00,0x25,0x28,0x2d]
705
706 .option pic2
707 #dla $5, symbol