@@ -322,79 +322,79 @@ define i128 @var_shift_i128(i128 %x, i128 %y, i128 %z) nounwind {
322322; X86-SLOW-NEXT: subl $16, %esp
323323; X86-SLOW-NEXT: movl 24(%ebp), %edx
324324; X86-SLOW-NEXT: movl 28(%ebp), %esi
325- ; X86-SLOW-NEXT: movl 48(%ebp), %ebx
325+ ; X86-SLOW-NEXT: movl 48(%ebp), %edi
326326; X86-SLOW-NEXT: movl 56(%ebp), %eax
327327; X86-SLOW-NEXT: testb $64, %al
328- ; X86-SLOW-NEXT: movl 52(%ebp), %edi
328+ ; X86-SLOW-NEXT: movl 52(%ebp), %eax
329329; X86-SLOW-NEXT: je .LBB6_1
330330; X86-SLOW-NEXT: # %bb.2:
331- ; X86-SLOW-NEXT: movl %ebx , (%esp) # 4-byte Spill
332- ; X86-SLOW-NEXT: movl %edx, %ebx
331+ ; X86-SLOW-NEXT: movl %edi , (%esp) # 4-byte Spill
332+ ; X86-SLOW-NEXT: movl %edx, %edi
333333; X86-SLOW-NEXT: movl 32(%ebp), %edx
334- ; X86-SLOW-NEXT: movl %edi , %eax
335- ; X86-SLOW-NEXT: movl %esi, %edi
334+ ; X86-SLOW-NEXT: movl %eax , %ecx
335+ ; X86-SLOW-NEXT: movl %esi, %eax
336336; X86-SLOW-NEXT: movl 36(%ebp), %esi
337337; X86-SLOW-NEXT: jmp .LBB6_3
338338; X86-SLOW-NEXT: .LBB6_1:
339- ; X86-SLOW-NEXT: movl 40(%ebp), %eax
340- ; X86-SLOW-NEXT: movl %eax , (%esp) # 4-byte Spill
341- ; X86-SLOW-NEXT: movl 44(%ebp), %eax
339+ ; X86-SLOW-NEXT: movl 40(%ebp), %ecx
340+ ; X86-SLOW-NEXT: movl %ecx , (%esp) # 4-byte Spill
341+ ; X86-SLOW-NEXT: movl 44(%ebp), %ecx
342342; X86-SLOW-NEXT: .LBB6_3:
343- ; X86-SLOW-NEXT: movl 56(%ebp), %ecx
344- ; X86-SLOW-NEXT: testb $32, %cl
343+ ; X86-SLOW-NEXT: movl 56(%ebp), %ebx
344+ ; X86-SLOW-NEXT: testb $32, %bl
345345; X86-SLOW-NEXT: je .LBB6_4
346346; X86-SLOW-NEXT: # %bb.5:
347- ; X86-SLOW-NEXT: movl %edi , {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
347+ ; X86-SLOW-NEXT: movl %eax , {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
348348; X86-SLOW-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
349+ ; X86-SLOW-NEXT: movl %ecx, %ebx
349350; X86-SLOW-NEXT: jmp .LBB6_6
350351; X86-SLOW-NEXT: .LBB6_4:
351352; X86-SLOW-NEXT: movl %edx, %esi
353+ ; X86-SLOW-NEXT: movl %eax, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
352354; X86-SLOW-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
353- ; X86-SLOW-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
354- ; X86-SLOW-NEXT: movl %eax, %ebx
355- ; X86-SLOW-NEXT: movl (%esp), %eax # 4-byte Reload
355+ ; X86-SLOW-NEXT: movl %ecx, %edi
356+ ; X86-SLOW-NEXT: movl (%esp), %ebx # 4-byte Reload
356357; X86-SLOW-NEXT: .LBB6_6:
357- ; X86-SLOW-NEXT: shrl %cl, %eax
358- ; X86-SLOW-NEXT: movl %eax, %edx
359- ; X86-SLOW-NEXT: movl %ecx, %eax
360- ; X86-SLOW-NEXT: notb %al
361- ; X86-SLOW-NEXT: movl %ebx, %edi
362- ; X86-SLOW-NEXT: addl %ebx, %ebx
363- ; X86-SLOW-NEXT: movl %eax, %ecx
364- ; X86-SLOW-NEXT: shll %cl, %ebx
365- ; X86-SLOW-NEXT: orl %edx, %ebx
366- ; X86-SLOW-NEXT: movl %ebx, (%esp) # 4-byte Spill
367358; X86-SLOW-NEXT: movl 56(%ebp), %ecx
368- ; X86-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
369- ; X86-SLOW-NEXT: shrl %cl, %edi
370- ; X86-SLOW-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ebx # 4-byte Reload
371- ; X86-SLOW-NEXT: leal (%ebx,%ebx), %edx
372- ; X86-SLOW-NEXT: movl %eax, %ecx
373- ; X86-SLOW-NEXT: shll %cl, %edx
374- ; X86-SLOW-NEXT: orl %edi, %edx
359+ ; X86-SLOW-NEXT: shrl %cl, %ebx
360+ ; X86-SLOW-NEXT: movl %ecx, %edx
361+ ; X86-SLOW-NEXT: notb %dl
362+ ; X86-SLOW-NEXT: movl %edi, %eax
363+ ; X86-SLOW-NEXT: addl %edi, %edi
364+ ; X86-SLOW-NEXT: movl %edx, %ecx
365+ ; X86-SLOW-NEXT: shll %cl, %edi
366+ ; X86-SLOW-NEXT: orl %ebx, %edi
367+ ; X86-SLOW-NEXT: movl %edi, (%esp) # 4-byte Spill
375368; X86-SLOW-NEXT: movl 56(%ebp), %ecx
376369; X86-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
377- ; X86-SLOW-NEXT: shrl %cl, %ebx
378- ; X86-SLOW-NEXT: movl %ebx, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
370+ ; X86-SLOW-NEXT: shrl %cl, %eax
379371; X86-SLOW-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Reload
380372; X86-SLOW-NEXT: leal (%edi,%edi), %ebx
381- ; X86-SLOW-NEXT: movl %eax , %ecx
373+ ; X86-SLOW-NEXT: movl %edx , %ecx
382374; X86-SLOW-NEXT: shll %cl, %ebx
383- ; X86-SLOW-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p) , %ebx # 4-byte Folded Reload
375+ ; X86-SLOW-NEXT: orl %eax , %ebx
384376; X86-SLOW-NEXT: movl 56(%ebp), %ecx
385377; X86-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
386378; X86-SLOW-NEXT: shrl %cl, %edi
379+ ; X86-SLOW-NEXT: movl %edi, {{[-0-9]+}}(%e{{[sb]}}p) # 4-byte Spill
380+ ; X86-SLOW-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax # 4-byte Reload
381+ ; X86-SLOW-NEXT: leal (%eax,%eax), %edi
382+ ; X86-SLOW-NEXT: movl %edx, %ecx
383+ ; X86-SLOW-NEXT: shll %cl, %edi
384+ ; X86-SLOW-NEXT: orl {{[-0-9]+}}(%e{{[sb]}}p), %edi # 4-byte Folded Reload
385+ ; X86-SLOW-NEXT: movl 56(%ebp), %ecx
386+ ; X86-SLOW-NEXT: # kill: def $cl killed $cl killed $ecx
387+ ; X86-SLOW-NEXT: shrl %cl, %eax
387388; X86-SLOW-NEXT: addl %esi, %esi
388- ; X86-SLOW-NEXT: movl %eax , %ecx
389+ ; X86-SLOW-NEXT: movl %edx , %ecx
389390; X86-SLOW-NEXT: shll %cl, %esi
390- ; X86-SLOW-NEXT: orl %edi, %esi
391- ; X86-SLOW-NEXT: movl 8(%ebp), %ecx
392- ; X86-SLOW-NEXT: movl %esi, 12(%ecx)
393- ; X86-SLOW-NEXT: movl %ebx, 8(%ecx)
394- ; X86-SLOW-NEXT: movl %edx, 4(%ecx)
395- ; X86-SLOW-NEXT: movl (%esp), %eax # 4-byte Reload
396- ; X86-SLOW-NEXT: movl %eax, (%ecx)
397- ; X86-SLOW-NEXT: movl %ecx, %eax
391+ ; X86-SLOW-NEXT: orl %eax, %esi
392+ ; X86-SLOW-NEXT: movl 8(%ebp), %eax
393+ ; X86-SLOW-NEXT: movl %esi, 12(%eax)
394+ ; X86-SLOW-NEXT: movl %edi, 8(%eax)
395+ ; X86-SLOW-NEXT: movl %ebx, 4(%eax)
396+ ; X86-SLOW-NEXT: movl (%esp), %ecx # 4-byte Reload
397+ ; X86-SLOW-NEXT: movl %ecx, (%eax)
398398; X86-SLOW-NEXT: leal -12(%ebp), %esp
399399; X86-SLOW-NEXT: popl %esi
400400; X86-SLOW-NEXT: popl %edi
0 commit comments