1# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 | \
2# RUN:   FileCheck %s --check-prefix=CHECK-NOTRAP
3# RUN: llvm-mc %s -triple=mips64-unknown-linux -show-encoding -mcpu=mips64r2 \
4# RUN:  -mattr=+use-tcc-in-div | FileCheck %s --check-prefix=CHECK-TRAP
5
6  ddivu $25,$11
7# CHECK-NOTRAP: bne $11, $zero, .Ltmp0    # encoding: [0x15,0x60,A,A]
8# CHECK-NOTRAP:                           # fixup A - offset: 0, value: .Ltmp0-4, kind: fixup_Mips_PC16
9# CHECK-NOTRAP: ddivu $zero, $25, $11     # encoding: [0x03,0x2b,0x00,0x1f]
10# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
11# CHECK-NOTRAP: .Ltmp0
12# CHECK-NOTRAP: mflo $25                  # encoding: [0x00,0x00,0xc8,0x12]
13# CHECK-TRAP: teq $11, $zero, 7           # encoding: [0x01,0x60,0x01,0xf4]
14# CHECK-TRAP: ddivu $zero, $25, $11       # encoding: [0x03,0x2b,0x00,0x1f]
15# CHECK-TRAP: mflo $25                    # encoding: [0x00,0x00,0xc8,0x12]
16
17  ddivu $24,$12
18# CHECK-NOTRAP: bne $12, $zero, .Ltmp1    # encoding: [0x15,0x80,A,A]
19# CHECK-NOTRAP:                           # fixup A - offset: 0, value: .Ltmp1-4, kind: fixup_Mips_PC16
20# CHECK-NOTRAP: ddivu $zero, $24, $12     # encoding: [0x03,0x0c,0x00,0x1f]
21# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
22# CHECK-NOTRAP: .Ltmp1
23# CHECK-NOTRAP: mflo $24                  # encoding: [0x00,0x00,0xc0,0x12]
24# CHECK-TRAP: teq $12, $zero, 7           # encoding: [0x01,0x80,0x01,0xf4]
25# CHECK-TRAP: ddivu $zero, $24, $12       # encoding: [0x03,0x0c,0x00,0x1f]
26# CHECK-TRAP: mflo $24                    # encoding: [0x00,0x00,0xc0,0x12]
27
28  ddivu $25,$0
29# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
30# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
31
32  ddivu $0,$9
33# CHECK-NOTRAP: bne $9, $zero, .Ltmp2     # encoding: [0x15,0x20,A,A]
34# CHECK-NOTRAP:                           # fixup A - offset: 0, value: .Ltmp2-4, kind: fixup_Mips_PC16
35# CHECK-NOTRAP: ddivu $zero, $zero, $9    # encoding: [0x00,0x09,0x00,0x1f]
36# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
37# CHECK-NOTRAP: .Ltmp2
38# CHECK-NOTRAP: mflo $zero                # encoding: [0x00,0x00,0x00,0x12]
39# CHECK-TRAP: teq $9, $zero, 7            # encoding: [0x01,0x20,0x01,0xf4]
40# CHECK-TRAP: ddivu $zero, $zero, $9      # encoding: [0x00,0x09,0x00,0x1f]
41# CHECK-TRAP: mflo $zero                  # encoding: [0x00,0x00,0x00,0x12]
42
43  ddivu $0,$0
44# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
45# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
46
47  ddivu $4,0
48# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
49# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
50
51  ddivu $0,0
52# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
53# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
54
55  ddivu $4,1
56# CHECK-NOTRAP: move $4, $4               # encoding: [0x00,0x80,0x20,0x25]
57# CHECK-TRAP: move $4, $4                 # encoding: [0x00,0x80,0x20,0x25]
58
59  ddivu $4,-1
60# CHECK-NOTRAP: addiu $1, $zero, -1       # encoding: [0x24,0x01,0xff,0xff]
61# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
62# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
63# CHECK-TRAP: addiu $1, $zero, -1         # encoding: [0x24,0x01,0xff,0xff]
64# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
65# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
66
67  ddivu $4,0x8000
68# CHECK-NOTRAP: ori $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
69# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
70# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
71# CHECK-TRAP: ori $1, $zero, 32768        # encoding: [0x34,0x01,0x80,0x00]
72# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
73# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
74
75  ddivu $4,-0x8000
76# CHECK-NOTRAP: addiu $1, $zero, -32768   # encoding: [0x24,0x01,0x80,0x00]
77# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
78# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
79# CHECK-TRAP: addiu $1, $zero, -32768     # encoding: [0x24,0x01,0x80,0x00]
80# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
81# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
82
83  ddivu $4,0x10000
84# CHECK-NOTRAP: lui $1, 1                 # encoding: [0x3c,0x01,0x00,0x01]
85# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
86# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
87# CHECK-TRAP: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
88# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
89# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
90
91  ddivu $4,0x1a5a5
92# CHECK-NOTRAP: lui $1, 1                 # encoding: [0x3c,0x01,0x00,0x01]
93# CHECK-NOTRAP: ori $1, $1, 42405         # encoding: [0x34,0x21,0xa5,0xa5]
94# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
95# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
96# CHECK-TRAP: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
97# CHECK-TRAP: ori $1, $1, 42405           # encoding: [0x34,0x21,0xa5,0xa5]
98# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
99# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
100
101  ddivu $4,0xfffffff
102# CHECK-NOTRAP: lui $1, 4095              # encoding: [0x3c,0x01,0x0f,0xff]
103# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
104# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
105# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
106# CHECK-TRAP: lui $1, 4095                # encoding: [0x3c,0x01,0x0f,0xff]
107# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
108# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
109# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
110
111  ddivu $4,0x10000000
112# CHECK-NOTRAP: lui $1, 4096              # encoding: [0x3c,0x01,0x10,0x00]
113# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
114# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
115# CHECK-TRAP: lui $1, 4096                # encoding: [0x3c,0x01,0x10,0x00]
116# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
117# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
118
119  ddivu $4,0xfffffffe
120# CHECK-NOTRAP: ori $1, $zero, 65535      # encoding: [0x34,0x01,0xff,0xff]
121# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
122# CHECK-NOTRAP: ori $1, $1, 65534         # encoding: [0x34,0x21,0xff,0xfe]
123# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
124# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
125# CHECK-TRAP: ori $1, $zero, 65535        # encoding: [0x34,0x01,0xff,0xff]
126# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
127# CHECK-TRAP: ori $1, $1, 65534           # encoding: [0x34,0x21,0xff,0xfe]
128# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
129# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
130
131  ddivu $4,0xffffffff
132# CHECK-NOTRAP: lui $1, 65535             # encoding: [0x3c,0x01,0xff,0xff]
133# CHECK-NOTRAP: dsrl32 $1, $1, 0          # encoding: [0x00,0x01,0x08,0x3e]
134# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
135# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
136# CHECK-TRAP: lui $1, 65535               # encoding: [0x3c,0x01,0xff,0xff]
137# CHECK-TRAP: dsrl32 $1, $1, 0            # encoding: [0x00,0x01,0x08,0x3e]
138# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
139# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
140
141  ddivu $4,0xfffffffff
142# CHECK-NOTRAP: addiu $1, $zero, 15       # encoding: [0x24,0x01,0x00,0x0f]
143# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
144# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
145# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
146# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
147# CHECK-NOTRAP: ddivu $zero, $4, $1       # encoding: [0x00,0x81,0x00,0x1f]
148# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
149# CHECK-TRAP: addiu $1, $zero, 15         # encoding: [0x24,0x01,0x00,0x0f]
150# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
151# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
152# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
153# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
154# CHECK-TRAP: ddivu $zero, $4, $1         # encoding: [0x00,0x81,0x00,0x1f]
155# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
156
157  ddivu $4,$5,$6
158# CHECK-NOTRAP: bne $6, $zero, .Ltmp3     # encoding: [0x14,0xc0,A,A]
159# CHECK-NOTRAP:                           # fixup A - offset: 0, value: .Ltmp3-4, kind: fixup_Mips_PC16
160# CHECK-NOTRAP: ddivu $zero, $5, $6       # encoding: [0x00,0xa6,0x00,0x1f]
161# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
162# CHECK-NOTRAP: .Ltmp3:
163# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
164# CHECK-TRAP: teq $6, $zero, 7            # encoding: [0x00,0xc0,0x01,0xf4]
165# CHECK-TRAP: ddivu $zero, $5, $6         # encoding: [0x00,0xa6,0x00,0x1f]
166# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
167
168  ddivu $4,$5,$0
169# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
170# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
171
172  ddivu $4,$0,$0
173# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
174# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
175
176  ddivu $0, $4, $5
177# CHECK-NOTRAP: ddivu $zero, $4, $5       # encoding: [0x00,0x85,0x00,0x1f]
178# CHECK-TRAP: ddivu $zero, $4, $5         # encoding: [0x00,0x85,0x00,0x1f]
179
180  ddivu $4,$5,0
181# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
182# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
183
184  ddivu $4,$0,0
185# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
186# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
187
188  ddivu $0,$0,0
189# CHECK-NOTRAP: break 7                   # encoding: [0x00,0x07,0x00,0x0d]
190# CHECK-TRAP: teq $zero, $zero, 7         # encoding: [0x00,0x00,0x01,0xf4]
191
192  ddivu $4,$5,1
193# CHECK-NOTRAP: move $4, $5               # encoding: [0x00,0xa0,0x20,0x25]
194# CHECK-TRAP: move $4, $5                 # encoding: [0x00,0xa0,0x20,0x25]
195
196  ddivu $4,$5,-1
197# CHECK-NOTRAP: addiu $1, $zero, -1       # encoding: [0x24,0x01,0xff,0xff]
198# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
199# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
200# CHECK-TRAP: addiu $1, $zero, -1         # encoding: [0x24,0x01,0xff,0xff]
201# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
202# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
203
204  ddivu $4,$5,2
205# CHECK-NOTRAP: addiu $1, $zero, 2        # encoding: [0x24,0x01,0x00,0x02]
206# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
207# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
208# CHECK-TRAP: addiu $1, $zero, 2          # encoding: [0x24,0x01,0x00,0x02]
209# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
210# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
211
212  ddivu $4,$5,0x8000
213# CHECK-NOTRAP: ori $1, $zero, 32768      # encoding: [0x34,0x01,0x80,0x00]
214# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
215# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
216# CHECK-TRAP: ori $1, $zero, 32768        # encoding: [0x34,0x01,0x80,0x00]
217# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
218# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
219
220  ddivu $4,$5,-0x8000
221# CHECK-NOTRAP: addiu $1, $zero, -32768   # encoding: [0x24,0x01,0x80,0x00]
222# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
223# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
224# CHECK-TRAP: addiu $1, $zero, -32768     # encoding: [0x24,0x01,0x80,0x00]
225# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
226# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
227
228  ddivu $4,$5,0x10000
229# CHECK-NOTRAP: lui $1, 1                 # encoding: [0x3c,0x01,0x00,0x01]
230# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
231# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
232# CHECK-TRAP: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
233# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
234# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
235
236  ddivu $4,$5,0x1a5a5
237# CHECK-NOTRAP: lui $1, 1                 # encoding: [0x3c,0x01,0x00,0x01]
238# CHECK-NOTRAP: ori $1, $1, 42405         # encoding: [0x34,0x21,0xa5,0xa5]
239# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
240# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
241# CHECK-TRAP: lui $1, 1                   # encoding: [0x3c,0x01,0x00,0x01]
242# CHECK-TRAP: ori $1, $1, 42405           # encoding: [0x34,0x21,0xa5,0xa5]
243# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
244# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
245
246  ddivu $4,$5,0xfffffff
247# CHECK-NOTRAP: lui $1, 4095              # encoding: [0x3c,0x01,0x0f,0xff]
248# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
249# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
250# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
251# CHECK-TRAP: lui $1, 4095                # encoding: [0x3c,0x01,0x0f,0xff]
252# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
253# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
254# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
255
256  ddivu $4,$5,0x10000000
257# CHECK-NOTRAP: lui $1, 4096              # encoding: [0x3c,0x01,0x10,0x00]
258# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
259# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
260# CHECK-TRAP: lui $1, 4096                # encoding: [0x3c,0x01,0x10,0x00]
261# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
262# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
263
264  ddivu $4,$5,0xfffffffe
265
266# CHECK-NOTRAP: ori $1, $zero, 65535      # encoding: [0x34,0x01,0xff,0xff]
267# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
268# CHECK-NOTRAP: ori $1, $1, 65534         # encoding: [0x34,0x21,0xff,0xfe]
269# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
270# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
271# CHECK-TRAP: ori $1, $zero, 65535        # encoding: [0x34,0x01,0xff,0xff]
272# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
273# CHECK-TRAP: ori $1, $1, 65534           # encoding: [0x34,0x21,0xff,0xfe]
274# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
275# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
276
277  ddivu $4,$5,0xffffffff
278# CHECK-NOTRAP: lui $1, 65535             # encoding: [0x3c,0x01,0xff,0xff]
279# CHECK-NOTRAP: dsrl32 $1, $1, 0          # encoding: [0x00,0x01,0x08,0x3e]
280# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
281# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
282# CHECK-TRAP: lui $1, 65535               # encoding: [0x3c,0x01,0xff,0xff]
283# CHECK-TRAP: dsrl32 $1, $1, 0            # encoding: [0x00,0x01,0x08,0x3e]
284# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
285# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
286
287  ddivu $4,$5,0xfffffffff
288# CHECK-NOTRAP: addiu $1, $zero, 15       # encoding: [0x24,0x01,0x00,0x0f]
289# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
290# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
291# CHECK-NOTRAP: dsll $1, $1, 16           # encoding: [0x00,0x01,0x0c,0x38]
292# CHECK-NOTRAP: ori $1, $1, 65535         # encoding: [0x34,0x21,0xff,0xff]
293# CHECK-NOTRAP: ddivu $zero, $5, $1       # encoding: [0x00,0xa1,0x00,0x1f]
294# CHECK-NOTRAP: mflo $4                   # encoding: [0x00,0x00,0x20,0x12]
295# CHECK-TRAP: addiu $1, $zero, 15         # encoding: [0x24,0x01,0x00,0x0f]
296# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
297# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
298# CHECK-TRAP: dsll $1, $1, 16             # encoding: [0x00,0x01,0x0c,0x38]
299# CHECK-TRAP: ori $1, $1, 65535           # encoding: [0x34,0x21,0xff,0xff]
300# CHECK-TRAP: ddivu $zero, $5, $1         # encoding: [0x00,0xa1,0x00,0x1f]
301# CHECK-TRAP: mflo $4                     # encoding: [0x00,0x00,0x20,0x12]
302