Skip to content

Commit 9191404

Browse files
committed
Revert unneeded test changes
1 parent cb40738 commit 9191404

File tree

3 files changed

+10
-601
lines changed

3 files changed

+10
-601
lines changed

llvm/test/CodeGen/X86/all-ones-vector.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ define <64 x i8> @allones_v64i8() nounwind {
272272
;
273273
; AVX512-LABEL: allones_v64i8:
274274
; AVX512: # %bb.0:
275-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
275+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
276276
; AVX512-NEXT: ret{{[l|q]}}
277277
ret <64 x i8> <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
278278
}
@@ -301,7 +301,7 @@ define <32 x i16> @allones_v32i16() nounwind {
301301
;
302302
; AVX512-LABEL: allones_v32i16:
303303
; AVX512: # %bb.0:
304-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
304+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
305305
; AVX512-NEXT: ret{{[l|q]}}
306306
ret <32 x i16> <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>
307307
}
@@ -330,7 +330,7 @@ define <16 x i32> @allones_v16i32() nounwind {
330330
;
331331
; AVX512-LABEL: allones_v16i32:
332332
; AVX512: # %bb.0:
333-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
333+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
334334
; AVX512-NEXT: ret{{[l|q]}}
335335
ret <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>
336336
}
@@ -359,7 +359,7 @@ define <8 x i64> @allones_v8i64() nounwind {
359359
;
360360
; AVX512-LABEL: allones_v8i64:
361361
; AVX512: # %bb.0:
362-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
362+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
363363
; AVX512-NEXT: ret{{[l|q]}}
364364
ret <8 x i64> <i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1, i64 -1>
365365
}
@@ -388,7 +388,7 @@ define <8 x double> @allones_v8f64() nounwind {
388388
;
389389
; AVX512-LABEL: allones_v8f64:
390390
; AVX512: # %bb.0:
391-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
391+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
392392
; AVX512-NEXT: ret{{[l|q]}}
393393
ret <8 x double> <double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff, double 0xffffffffffffffff>
394394
}
@@ -417,7 +417,7 @@ define <16 x float> @allones_v16f32() nounwind {
417417
;
418418
; AVX512-LABEL: allones_v16f32:
419419
; AVX512: # %bb.0:
420-
; AVX512-NEXT: vpternlogd {{.*#+}} zmm0 = -1
420+
; AVX512-NEXT: vpternlogd $255, %zmm0, %zmm0, %zmm0
421421
; AVX512-NEXT: ret{{[l|q]}}
422422
ret <16 x float> <float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000, float 0xffffffffe0000000>
423423
}

llvm/test/CodeGen/X86/i128-sdiv.ll

Lines changed: 2 additions & 312 deletions
Original file line numberDiff line numberDiff line change
@@ -118,317 +118,8 @@ define i128 @test2(i128 %x) nounwind {
118118

119119
define i128 @test3(i128 %x) nounwind {
120120
; X86-LABEL: test3:
121-
; X86: # %bb.0: # %_udiv-special-cases
122-
; X86-NEXT: pushl %ebp
123-
; X86-NEXT: movl %esp, %ebp
124-
; X86-NEXT: pushl %ebx
125-
; X86-NEXT: pushl %edi
126-
; X86-NEXT: pushl %esi
127-
; X86-NEXT: andl $-16, %esp
128-
; X86-NEXT: subl $160, %esp
129-
; X86-NEXT: movl 36(%ebp), %ebx
130-
; X86-NEXT: movl %ebx, %edi
131-
; X86-NEXT: sarl $31, %edi
132-
; X86-NEXT: xorl %edi, %ebx
133-
; X86-NEXT: movl 32(%ebp), %esi
134-
; X86-NEXT: xorl %edi, %esi
135-
; X86-NEXT: movl 28(%ebp), %edx
136-
; X86-NEXT: xorl %edi, %edx
137-
; X86-NEXT: movl 24(%ebp), %ecx
138-
; X86-NEXT: xorl %edi, %ecx
139-
; X86-NEXT: subl %edi, %ecx
140-
; X86-NEXT: sbbl %edi, %edx
141-
; X86-NEXT: sbbl %edi, %esi
142-
; X86-NEXT: sbbl %edi, %ebx
143-
; X86-NEXT: movl %edx, %eax
144-
; X86-NEXT: orl %ebx, %eax
145-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
146-
; X86-NEXT: orl %esi, %ecx
147-
; X86-NEXT: orl %eax, %ecx
148-
; X86-NEXT: sete {{[-0-9]+}}(%e{{[sb]}}p) # 1-byte Folded Spill
149-
; X86-NEXT: testl %ebx, %ebx
150-
; X86-NEXT: jne .LBB2_1
151-
; X86-NEXT: # %bb.2: # %_udiv-special-cases
152-
; X86-NEXT: bsrl %esi, %ecx
153-
; X86-NEXT: xorl $31, %ecx
154-
; X86-NEXT: addl $32, %ecx
155-
; X86-NEXT: jmp .LBB2_3
156-
; X86-NEXT: .LBB2_1:
157-
; X86-NEXT: bsrl %ebx, %ecx
158-
; X86-NEXT: xorl $31, %ecx
159-
; X86-NEXT: .LBB2_3: # %_udiv-special-cases
160-
; X86-NEXT: testl %edx, %edx
161-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
162-
; X86-NEXT: jne .LBB2_4
163-
; X86-NEXT: # %bb.5: # %_udiv-special-cases
164-
; X86-NEXT: bsrl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
165-
; X86-NEXT: xorl $31, %edx
166-
; X86-NEXT: addl $32, %edx
167-
; X86-NEXT: jmp .LBB2_6
168-
; X86-NEXT: .LBB2_4:
169-
; X86-NEXT: bsrl %edx, %edx
170-
; X86-NEXT: xorl $31, %edx
171-
; X86-NEXT: .LBB2_6: # %_udiv-special-cases
172-
; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
173-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
174-
; X86-NEXT: orl %ebx, %esi
175-
; X86-NEXT: jne .LBB2_8
176-
; X86-NEXT: # %bb.7: # %_udiv-special-cases
177-
; X86-NEXT: addl $64, %edx
178-
; X86-NEXT: movl %edx, %ecx
179-
; X86-NEXT: .LBB2_8: # %_udiv-special-cases
180-
; X86-NEXT: movl $61, %edx
181-
; X86-NEXT: subl %ecx, %edx
182-
; X86-NEXT: movl $0, %esi
183-
; X86-NEXT: sbbl %esi, %esi
184-
; X86-NEXT: movl $0, %eax
185-
; X86-NEXT: sbbl %eax, %eax
186-
; X86-NEXT: movl $0, %ebx
187-
; X86-NEXT: sbbl %ebx, %ebx
188-
; X86-NEXT: movl $127, %ecx
189-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
190-
; X86-NEXT: cmpl %edx, %ecx
191-
; X86-NEXT: movl $0, %ecx
192-
; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
193-
; X86-NEXT: sbbl %esi, %ecx
194-
; X86-NEXT: movl $0, %ecx
195-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
196-
; X86-NEXT: sbbl %eax, %ecx
197-
; X86-NEXT: movl $0, %ecx
198-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
199-
; X86-NEXT: sbbl %ebx, %ecx
200-
; X86-NEXT: setb %cl
201-
; X86-NEXT: movzbl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 1-byte Folded Reload
202-
; X86-NEXT: orb %cl, %al
203-
; X86-NEXT: testb %al, %al
204-
; X86-NEXT: movl $0, %esi
205-
; X86-NEXT: movl $0, %edx
206-
; X86-NEXT: movl $0, %ebx
207-
; X86-NEXT: movl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
208-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
209-
; X86-NEXT: jne .LBB2_10
210-
; X86-NEXT: # %bb.9: # %_udiv-special-cases
211-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
212-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
213-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
214-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
215-
; X86-NEXT: movl %ecx, %ebx
216-
; X86-NEXT: .LBB2_10: # %_udiv-special-cases
217-
; X86-NEXT: notl %edi
218-
; X86-NEXT: jne .LBB2_11
219-
; X86-NEXT: # %bb.18: # %_udiv-special-cases
220-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
221-
; X86-NEXT: xorl $127, %ecx
222-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
223-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
224-
; X86-NEXT: movl %edx, %eax
225-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
226-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
227-
; X86-NEXT: orl %ecx, %edx
228-
; X86-NEXT: movl %eax, %edx
229-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
230-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
231-
; X86-NEXT: je .LBB2_19
232-
; X86-NEXT: # %bb.15: # %udiv-bb1
233-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
234-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
235-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
236-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
237-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
238-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
239-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
240-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
241-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
242-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
243-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
244-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
245-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
246-
; X86-NEXT: movl %eax, %ecx
247-
; X86-NEXT: xorb $127, %cl
248-
; X86-NEXT: movl %ecx, %edx
249-
; X86-NEXT: shrb $3, %dl
250-
; X86-NEXT: andb $12, %dl
251-
; X86-NEXT: negb %dl
252-
; X86-NEXT: movsbl %dl, %edx
253-
; X86-NEXT: movl 136(%esp,%edx), %esi
254-
; X86-NEXT: movl 140(%esp,%edx), %ebx
255-
; X86-NEXT: shldl %cl, %esi, %ebx
256-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
257-
; X86-NEXT: movl 128(%esp,%edx), %ebx
258-
; X86-NEXT: movl 132(%esp,%edx), %edx
259-
; X86-NEXT: shldl %cl, %edx, %esi
260-
; X86-NEXT: shldl %cl, %ebx, %edx
261-
; X86-NEXT: shll %cl, %ebx
262-
; X86-NEXT: addl $1, %eax
263-
; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
264-
; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
265-
; X86-NEXT: adcl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
266-
; X86-NEXT: jae .LBB2_12
267-
; X86-NEXT: # %bb.16:
268-
; X86-NEXT: movl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
269-
; X86-NEXT: xorl %eax, %eax
270-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
271-
; X86-NEXT: jmp .LBB2_17
272-
; X86-NEXT: .LBB2_11:
273-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
274-
; X86-NEXT: jmp .LBB2_19
275-
; X86-NEXT: .LBB2_12: # %udiv-preheader
276-
; X86-NEXT: movl %eax, %ecx
277-
; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
278-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
279-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
280-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
281-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
282-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
283-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
284-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
285-
; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
286-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
287-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
288-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
289-
; X86-NEXT: movl $0, {{[0-9]+}}(%esp)
290-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
291-
; X86-NEXT: movl %ecx, %eax
292-
; X86-NEXT: shrb $3, %al
293-
; X86-NEXT: andb $12, %al
294-
; X86-NEXT: movzbl %al, %eax
295-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
296-
; X86-NEXT: movl 92(%esp,%eax), %edx
297-
; X86-NEXT: movl 88(%esp,%eax), %edi
298-
; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
299-
; X86-NEXT: shrdl %cl, %edx, %edi
300-
; X86-NEXT: movl 80(%esp,%eax), %ebx
301-
; X86-NEXT: movl 84(%esp,%eax), %eax
302-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
303-
; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
304-
; X86-NEXT: movl %eax, %esi
305-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
306-
; X86-NEXT: shrdl %cl, %eax, %esi
307-
; X86-NEXT: shrl %cl, %edx
308-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
309-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
310-
; X86-NEXT: # kill: def $cl killed $cl killed $ecx
311-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
312-
; X86-NEXT: shrdl %cl, %eax, %ebx
313-
; X86-NEXT: xorl %eax, %eax
314-
; X86-NEXT: movl $3, %ecx
315-
; X86-NEXT: addl $-1, %ecx
316-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
317-
; X86-NEXT: movl $0, %ecx
318-
; X86-NEXT: adcl $-1, %ecx
319-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
320-
; X86-NEXT: movl $4, %ecx
321-
; X86-NEXT: adcl $-1, %ecx
322-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
323-
; X86-NEXT: movl $0, %ecx
324-
; X86-NEXT: adcl $-1, %ecx
325-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
326-
; X86-NEXT: movl $0, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
327-
; X86-NEXT: .p2align 4
328-
; X86-NEXT: .LBB2_13: # %udiv-do-while
329-
; X86-NEXT: # =>This Inner Loop Header: Depth=1
330-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
331-
; X86-NEXT: movl %eax, %ecx
332-
; X86-NEXT: shldl $1, %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Spill
333-
; X86-NEXT: shldl $1, %esi, %edi
334-
; X86-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
335-
; X86-NEXT: shldl $1, %ebx, %esi
336-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
337-
; X86-NEXT: shldl $1, %eax, %ebx
338-
; X86-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
339-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
340-
; X86-NEXT: shldl $1, %edx, %eax
341-
; X86-NEXT: orl %ecx, %eax
342-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
343-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
344-
; X86-NEXT: shldl $1, %ecx, %edx
345-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Folded Reload
346-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
347-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
348-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
349-
; X86-NEXT: shldl $1, %eax, %ecx
350-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Folded Reload
351-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
352-
; X86-NEXT: addl %eax, %eax
353-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Folded Reload
354-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
355-
; X86-NEXT: cmpl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Folded Reload
356-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
357-
; X86-NEXT: sbbl %esi, %ecx
358-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
359-
; X86-NEXT: sbbl %edi, %ecx
360-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
361-
; X86-NEXT: sbbl %edx, %ecx
362-
; X86-NEXT: sarl $31, %ecx
363-
; X86-NEXT: movl %ecx, %eax
364-
; X86-NEXT: andl $1, %eax
365-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
366-
; X86-NEXT: movl %ecx, %eax
367-
; X86-NEXT: movl $4, %edi
368-
; X86-NEXT: andl %edi, %eax
369-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
370-
; X86-NEXT: movl $3, %ebx
371-
; X86-NEXT: andl %ebx, %ecx
372-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
373-
; X86-NEXT: subl %ecx, %ebx
374-
; X86-NEXT: sbbl $0, %esi
375-
; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
376-
; X86-NEXT: sbbl %eax, %edi
377-
; X86-NEXT: sbbl $0, %edx
378-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
379-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
380-
; X86-NEXT: addl $-1, %ecx
381-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
382-
; X86-NEXT: adcl $-1, %eax
383-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
384-
; X86-NEXT: adcl $-1, %esi
385-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
386-
; X86-NEXT: adcl $-1, %edx
387-
; X86-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
388-
; X86-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
389-
; X86-NEXT: orl %edx, %eax
390-
; X86-NEXT: movl %ecx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
391-
; X86-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
392-
; X86-NEXT: orl %esi, %ecx
393-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
394-
; X86-NEXT: orl %eax, %ecx
395-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
396-
; X86-NEXT: jne .LBB2_13
397-
; X86-NEXT: # %bb.14:
398-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
399-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx # 4-byte Reload
400-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %esi # 4-byte Reload
401-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx # 4-byte Reload
402-
; X86-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
403-
; X86-NEXT: .LBB2_17: # %udiv-loop-exit
404-
; X86-NEXT: shldl $1, %esi, %ecx
405-
; X86-NEXT: orl %eax, %ecx
406-
; X86-NEXT: shldl $1, %edx, %esi
407-
; X86-NEXT: orl %eax, %esi
408-
; X86-NEXT: shldl $1, %ebx, %edx
409-
; X86-NEXT: orl %eax, %edx
410-
; X86-NEXT: addl %ebx, %ebx
411-
; X86-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Folded Reload
412-
; X86-NEXT: .LBB2_19: # %udiv-end
413-
; X86-NEXT: xorl %edi, %ecx
414-
; X86-NEXT: xorl %edi, %esi
415-
; X86-NEXT: xorl %edi, %edx
416-
; X86-NEXT: xorl %edi, %ebx
417-
; X86-NEXT: subl %edi, %ebx
418-
; X86-NEXT: sbbl %edi, %edx
419-
; X86-NEXT: sbbl %edi, %esi
420-
; X86-NEXT: sbbl %edi, %ecx
421-
; X86-NEXT: movl 8(%ebp), %eax
422-
; X86-NEXT: movl %ebx, (%eax)
423-
; X86-NEXT: movl %edx, 4(%eax)
424-
; X86-NEXT: movl %esi, 8(%eax)
425-
; X86-NEXT: movl %ecx, 12(%eax)
426-
; X86-NEXT: leal -12(%ebp), %esp
427-
; X86-NEXT: popl %esi
428-
; X86-NEXT: popl %edi
429-
; X86-NEXT: popl %ebx
430-
; X86-NEXT: popl %ebp
431-
; X86-NEXT: retl $4
121+
; X86 doesn't have __divti3, so the urem is expanded into a loop.
122+
; X86: udiv-do-while
432123
;
433124
; X64-LABEL: test3:
434125
; X64: # %bb.0:
@@ -438,7 +129,6 @@ define i128 @test3(i128 %x) nounwind {
438129
; X64-NEXT: callq __divti3@PLT
439130
; X64-NEXT: popq %rcx
440131
; X64-NEXT: retq
441-
; X86 doesn't have __divti3, so the urem is expanded into a loop.
442132
%tmp = sdiv i128 %x, -73786976294838206467
443133
ret i128 %tmp
444134
}

0 commit comments

Comments
 (0)