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
6bits_32_to_47_0x0000:           # CHECK-LABEL: bits_32_to_47_0x0000:
7dli $5, 0x0000000000000001      # CHECK: addiu $5, $zero, 1          # encoding: [0x24,0x05,0x00,0x01]
8dli $5, 0x0000000000000002      # CHECK: addiu $5, $zero, 2          # encoding: [0x24,0x05,0x00,0x02]
9dli $5, 0x0000000000004000      # CHECK: addiu $5, $zero, 16384      # encoding: [0x24,0x05,0x40,0x00]
10dli $5, 0x0000000000008000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
11dli $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]
14dli $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]
17dli $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]
20dli $5, 0x00000000ffffffff      # CHECK: lui $5, 65535               # encoding: [0x3c,0x05,0xff,0xff]
21                                # CHECK: dsrl32 $5, $5, 0            # encoding: [0x00,0x05,0x28,0x3e]
22dli $5, 0x0000000000010000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
23dli $5, 0x0000000000020000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
24dli $5, 0x0000000040000000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
25dli $5, 0x0000000080000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
26                                # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
27dli $5, 0x00000000c0000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
28                                # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
29dli $5, 0x00000000fffe0000      # CHECK: ori $5, $zero, 65534        # encoding: [0x34,0x05,0xff,0xfe]
30                                # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
31dli $5, 0x00000000ffff0000      # CHECK: ori $5, $zero, 65535        # encoding: [0x34,0x05,0xff,0xff]
32                                # CHECK: dsll $5, $5, 16             # encoding: [0x00,0x05,0x2c,0x38]
33dli $5, 0x0000000000010001      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
34                                # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
35dli $5, 0x0000000000020001      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
36                                # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
37dli $5, 0x0000000040000001      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
38                                # CHECK: ori $5, $5, 1               # encoding: [0x34,0xa5,0x00,0x01]
39dli $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]
42dli $5, 0x0000000000010002      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
43                                # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
44dli $5, 0x0000000000020002      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
45                                # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
46dli $5, 0x0000000040000002      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
47                                # CHECK: ori $5, $5, 2               # encoding: [0x34,0xa5,0x00,0x02]
48dli $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]
51dli $5, 0x0000000000014000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
52                                # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
53dli $5, 0x0000000000024000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
54                                # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
55dli $5, 0x0000000040004000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
56                                # CHECK: ori $5, $5, 16384           # encoding: [0x34,0xa5,0x40,0x00]
57dli $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]
60dli $5, 0x0000000000018000      # CHECK: lui $5, 1                   # encoding: [0x3c,0x05,0x00,0x01]
61                                # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
62dli $5, 0x0000000000028000      # CHECK: lui $5, 2                   # encoding: [0x3c,0x05,0x00,0x02]
63                                # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
64dli $5, 0x0000000040008000      # CHECK: lui $5, 16384               # encoding: [0x3c,0x05,0x40,0x00]
65                                # CHECK: ori $5, $5, 32768           # encoding: [0x34,0xa5,0x80,0x00]
66dli $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]
69dli $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]
72dli $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]
75dli $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]
78bits_32_to_47_0x0001:           # CHECK-LABEL: bits_32_to_47_0x0001:
79dli $5, 0x0000000100000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
80                                # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
81dli $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]
84dli $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]
87dli $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]
90dli $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]
93dli $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]
97dli $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]
102dli $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]
107dli $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]
112dli $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]
117dli $5, 0x0000000100020000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
118                                # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
119dli $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]
124dli $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]
129dli $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]
134dli $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]
139dli $5, 0x0000000140000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
140                                # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
141dli $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]
146dli $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]
151dli $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]
156dli $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]
161dli $5, 0x0000000180000000      # CHECK: ori $5, $zero, 49152        # encoding: [0x34,0x05,0xc0,0x00]
162                                # CHECK: dsll $5, $5, 17             # encoding: [0x00,0x05,0x2c,0x78]
163dli $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]
168dli $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]
173dli $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]
178dli $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]
183bits_32_to_47_0x0002:           # CHECK-LABEL: bits_32_to_47_0x0002:
184dli $5, 0x0000000200000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
185                                # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
186dli $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]
189dli $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]
192dli $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]
195dli $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]
198dli $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]
202dli $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]
207dli $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]
212dli $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]
217dli $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]
222dli $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]
226dli $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]
231dli $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]
236dli $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]
241dli $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]
246dli $5, 0x0000000240000000      # CHECK: ori $5, $zero, 36864        # encoding: [0x34,0x05,0x90,0x00]
247                                # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
248dli $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]
253dli $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]
258dli $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]
263dli $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]
268dli $5, 0x0000000280000000      # CHECK: ori $5, $zero, 40960        # encoding: [0x34,0x05,0xa0,0x00]
269                                # CHECK: dsll $5, $5, 18             # encoding: [0x00,0x05,0x2c,0xb8]
270dli $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]
275dli $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]
280dli $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]
285dli $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]
290bits_32_to_47_0x4000:           # CHECK-LABEL: bits_32_to_47_0x4000:
291dli $5, 0x0000400000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
292                                # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
293dli $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]
296dli $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]
299dli $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]
302dli $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]
305dli $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]
309dli $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]
314dli $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]
319dli $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]
324dli $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]
329dli $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]
333dli $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]
338dli $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]
343dli $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]
348dli $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]
353dli $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]
357dli $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]
362dli $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]
367dli $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]
372dli $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]
377dli $5, 0x0000400080000000      # CHECK: ori $5, $zero, 32769        # encoding: [0x34,0x05,0x80,0x01]
378                                # CHECK: dsll $5, $5, 31             # encoding: [0x00,0x05,0x2f,0xf8]
379dli $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]
384dli $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]
389dli $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]
394dli $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]
399bits_32_to_47_0x8000:           # CHECK-LABEL: bits_32_to_47_0x8000:
400dli $5, 0x0000800000000000      # CHECK: ori $5, $zero, 32768        # encoding: [0x34,0x05,0x80,0x00]
401                                # CHECK: dsll $5, $5, 32             # encoding: [0x00,0x05,0x28,0x3c]
402dli $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]
405dli $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]
408dli $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]
411dli $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]
414dli $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]
418dli $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]
423dli $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]
428dli $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]
433dli $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]
438dli $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]
442dli $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]
447dli $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]
452dli $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]
457dli $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]
462dli $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]
466dli $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]
471dli $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]
476dli $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]
481dli $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]
486dli $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]
490dli $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]
495dli $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]
500dli $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]
505dli $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.
511dli $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]
517dli $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]
523dli $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]
529dli $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