; AVX512F_32_WIN-NEXT: pushl %ebp
; AVX512F_32_WIN-NEXT: movl %esp, %ebp
; AVX512F_32_WIN-NEXT: andl $-8, %esp
-; AVX512F_32_WIN-NEXT: subl $16, %esp
+; AVX512F_32_WIN-NEXT: subl $8, %esp
; AVX512F_32_WIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; AVX512F_32_WIN-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; AVX512F_32_WIN-NEXT: vcmpltss %xmm1, %xmm0, %k1
; AVX512F_32_WIN-NEXT: vsubss %xmm1, %xmm0, %xmm2
; AVX512F_32_WIN-NEXT: vmovss %xmm0, %xmm0, %xmm2 {%k1}
-; AVX512F_32_WIN-NEXT: vmovss %xmm2, {{[0-9]+}}(%esp)
-; AVX512F_32_WIN-NEXT: flds {{[0-9]+}}(%esp)
+; AVX512F_32_WIN-NEXT: vmovss %xmm2, (%esp)
+; AVX512F_32_WIN-NEXT: flds (%esp)
; AVX512F_32_WIN-NEXT: fisttpll (%esp)
; AVX512F_32_WIN-NEXT: xorl %edx, %edx
; AVX512F_32_WIN-NEXT: vucomiss %xmm0, %xmm1
;
; AVX512F_32_LIN-LABEL: f_to_u64:
; AVX512F_32_LIN: # %bb.0:
-; AVX512F_32_LIN-NEXT: subl $20, %esp
+; AVX512F_32_LIN-NEXT: subl $12, %esp
; AVX512F_32_LIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; AVX512F_32_LIN-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; AVX512F_32_LIN-NEXT: vcmpltss %xmm1, %xmm0, %k1
; AVX512F_32_LIN-NEXT: vsubss %xmm1, %xmm0, %xmm2
; AVX512F_32_LIN-NEXT: vmovss %xmm0, %xmm0, %xmm2 {%k1}
-; AVX512F_32_LIN-NEXT: vmovss %xmm2, {{[0-9]+}}(%esp)
-; AVX512F_32_LIN-NEXT: flds {{[0-9]+}}(%esp)
+; AVX512F_32_LIN-NEXT: vmovss %xmm2, (%esp)
+; AVX512F_32_LIN-NEXT: flds (%esp)
; AVX512F_32_LIN-NEXT: fisttpll (%esp)
; AVX512F_32_LIN-NEXT: xorl %edx, %edx
; AVX512F_32_LIN-NEXT: vucomiss %xmm0, %xmm1
; AVX512F_32_LIN-NEXT: shll $31, %edx
; AVX512F_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; AVX512F_32_LIN-NEXT: movl (%esp), %eax
-; AVX512F_32_LIN-NEXT: addl $20, %esp
+; AVX512F_32_LIN-NEXT: addl $12, %esp
; AVX512F_32_LIN-NEXT: retl
;
; SSE3_32_WIN-LABEL: f_to_u64:
; SSE3_32_WIN-NEXT: pushl %ebp
; SSE3_32_WIN-NEXT: movl %esp, %ebp
; SSE3_32_WIN-NEXT: andl $-8, %esp
-; SSE3_32_WIN-NEXT: subl $16, %esp
+; SSE3_32_WIN-NEXT: subl $8, %esp
; SSE3_32_WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE3_32_WIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; SSE3_32_WIN-NEXT: movaps %xmm0, %xmm2
; SSE3_32_WIN-NEXT: subss %xmm1, %xmm0
; SSE3_32_WIN-NEXT: andnps %xmm0, %xmm3
; SSE3_32_WIN-NEXT: orps %xmm3, %xmm2
-; SSE3_32_WIN-NEXT: movss %xmm2, {{[0-9]+}}(%esp)
-; SSE3_32_WIN-NEXT: flds {{[0-9]+}}(%esp)
+; SSE3_32_WIN-NEXT: movss %xmm2, (%esp)
+; SSE3_32_WIN-NEXT: flds (%esp)
; SSE3_32_WIN-NEXT: fisttpll (%esp)
; SSE3_32_WIN-NEXT: setbe %dl
; SSE3_32_WIN-NEXT: shll $31, %edx
;
; SSE3_32_LIN-LABEL: f_to_u64:
; SSE3_32_LIN: # %bb.0:
-; SSE3_32_LIN-NEXT: subl $20, %esp
+; SSE3_32_LIN-NEXT: subl $12, %esp
; SSE3_32_LIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE3_32_LIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; SSE3_32_LIN-NEXT: movaps %xmm0, %xmm2
; SSE3_32_LIN-NEXT: subss %xmm1, %xmm0
; SSE3_32_LIN-NEXT: andnps %xmm0, %xmm3
; SSE3_32_LIN-NEXT: orps %xmm3, %xmm2
-; SSE3_32_LIN-NEXT: movss %xmm2, {{[0-9]+}}(%esp)
-; SSE3_32_LIN-NEXT: flds {{[0-9]+}}(%esp)
+; SSE3_32_LIN-NEXT: movss %xmm2, (%esp)
+; SSE3_32_LIN-NEXT: flds (%esp)
; SSE3_32_LIN-NEXT: fisttpll (%esp)
; SSE3_32_LIN-NEXT: setbe %dl
; SSE3_32_LIN-NEXT: shll $31, %edx
; SSE3_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; SSE3_32_LIN-NEXT: movl (%esp), %eax
-; SSE3_32_LIN-NEXT: addl $20, %esp
+; SSE3_32_LIN-NEXT: addl $12, %esp
; SSE3_32_LIN-NEXT: retl
;
; SSE3_64-LABEL: f_to_u64:
; SSE2_32_WIN-NEXT: pushl %ebp
; SSE2_32_WIN-NEXT: movl %esp, %ebp
; SSE2_32_WIN-NEXT: andl $-8, %esp
-; SSE2_32_WIN-NEXT: subl $24, %esp
+; SSE2_32_WIN-NEXT: subl $16, %esp
; SSE2_32_WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE2_32_WIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; SSE2_32_WIN-NEXT: movaps %xmm0, %xmm2
;
; SSE2_32_LIN-LABEL: f_to_u64:
; SSE2_32_LIN: # %bb.0:
-; SSE2_32_LIN-NEXT: subl $28, %esp
+; SSE2_32_LIN-NEXT: subl $20, %esp
; SSE2_32_LIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE2_32_LIN-NEXT: movss {{.*#+}} xmm1 = mem[0],zero,zero,zero
; SSE2_32_LIN-NEXT: movaps %xmm0, %xmm2
; SSE2_32_LIN-NEXT: shll $31, %edx
; SSE2_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
-; SSE2_32_LIN-NEXT: addl $28, %esp
+; SSE2_32_LIN-NEXT: addl $20, %esp
; SSE2_32_LIN-NEXT: retl
;
; SSE2_64-LABEL: f_to_u64:
; AVX512F_32_WIN-NEXT: pushl %ebp
; AVX512F_32_WIN-NEXT: movl %esp, %ebp
; AVX512F_32_WIN-NEXT: andl $-8, %esp
-; AVX512F_32_WIN-NEXT: subl $16, %esp
+; AVX512F_32_WIN-NEXT: subl $8, %esp
; AVX512F_32_WIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512F_32_WIN-NEXT: vmovss %xmm0, {{[0-9]+}}(%esp)
-; AVX512F_32_WIN-NEXT: flds {{[0-9]+}}(%esp)
+; AVX512F_32_WIN-NEXT: vmovss %xmm0, (%esp)
+; AVX512F_32_WIN-NEXT: flds (%esp)
; AVX512F_32_WIN-NEXT: fisttpll (%esp)
; AVX512F_32_WIN-NEXT: movl (%esp), %eax
; AVX512F_32_WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
;
; AVX512F_32_LIN-LABEL: f_to_s64:
; AVX512F_32_LIN: # %bb.0:
-; AVX512F_32_LIN-NEXT: subl $20, %esp
+; AVX512F_32_LIN-NEXT: subl $12, %esp
; AVX512F_32_LIN-NEXT: vmovss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; AVX512F_32_LIN-NEXT: vmovss %xmm0, {{[0-9]+}}(%esp)
-; AVX512F_32_LIN-NEXT: flds {{[0-9]+}}(%esp)
+; AVX512F_32_LIN-NEXT: vmovss %xmm0, (%esp)
+; AVX512F_32_LIN-NEXT: flds (%esp)
; AVX512F_32_LIN-NEXT: fisttpll (%esp)
; AVX512F_32_LIN-NEXT: movl (%esp), %eax
; AVX512F_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F_32_LIN-NEXT: addl $20, %esp
+; AVX512F_32_LIN-NEXT: addl $12, %esp
; AVX512F_32_LIN-NEXT: retl
;
; SSE3_32_WIN-LABEL: f_to_s64:
; SSE3_32_WIN-NEXT: pushl %ebp
; SSE3_32_WIN-NEXT: movl %esp, %ebp
; SSE3_32_WIN-NEXT: andl $-8, %esp
-; SSE3_32_WIN-NEXT: subl $16, %esp
+; SSE3_32_WIN-NEXT: subl $8, %esp
; SSE3_32_WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; SSE3_32_WIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
-; SSE3_32_WIN-NEXT: flds {{[0-9]+}}(%esp)
+; SSE3_32_WIN-NEXT: movss %xmm0, (%esp)
+; SSE3_32_WIN-NEXT: flds (%esp)
; SSE3_32_WIN-NEXT: fisttpll (%esp)
; SSE3_32_WIN-NEXT: movl (%esp), %eax
; SSE3_32_WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
;
; SSE3_32_LIN-LABEL: f_to_s64:
; SSE3_32_LIN: # %bb.0:
-; SSE3_32_LIN-NEXT: subl $20, %esp
+; SSE3_32_LIN-NEXT: subl $12, %esp
; SSE3_32_LIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
-; SSE3_32_LIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
-; SSE3_32_LIN-NEXT: flds {{[0-9]+}}(%esp)
+; SSE3_32_LIN-NEXT: movss %xmm0, (%esp)
+; SSE3_32_LIN-NEXT: flds (%esp)
; SSE3_32_LIN-NEXT: fisttpll (%esp)
; SSE3_32_LIN-NEXT: movl (%esp), %eax
; SSE3_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; SSE3_32_LIN-NEXT: addl $20, %esp
+; SSE3_32_LIN-NEXT: addl $12, %esp
; SSE3_32_LIN-NEXT: retl
;
; SSE3_64-LABEL: f_to_s64:
; SSE2_32_WIN-NEXT: pushl %ebp
; SSE2_32_WIN-NEXT: movl %esp, %ebp
; SSE2_32_WIN-NEXT: andl $-8, %esp
-; SSE2_32_WIN-NEXT: subl $24, %esp
+; SSE2_32_WIN-NEXT: subl $16, %esp
; SSE2_32_WIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE2_32_WIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
; SSE2_32_WIN-NEXT: flds {{[0-9]+}}(%esp)
;
; SSE2_32_LIN-LABEL: f_to_s64:
; SSE2_32_LIN: # %bb.0:
-; SSE2_32_LIN-NEXT: subl $28, %esp
+; SSE2_32_LIN-NEXT: subl $20, %esp
; SSE2_32_LIN-NEXT: movss {{.*#+}} xmm0 = mem[0],zero,zero,zero
; SSE2_32_LIN-NEXT: movss %xmm0, {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: flds {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: fldcw {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; SSE2_32_LIN-NEXT: addl $28, %esp
+; SSE2_32_LIN-NEXT: addl $20, %esp
; SSE2_32_LIN-NEXT: retl
;
; SSE2_64-LABEL: f_to_s64:
; AVX512F_32_WIN-NEXT: pushl %ebp
; AVX512F_32_WIN-NEXT: movl %esp, %ebp
; AVX512F_32_WIN-NEXT: andl $-8, %esp
-; AVX512F_32_WIN-NEXT: subl $16, %esp
+; AVX512F_32_WIN-NEXT: subl $8, %esp
; AVX512F_32_WIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
; AVX512F_32_WIN-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
; AVX512F_32_WIN-NEXT: vcmpltsd %xmm1, %xmm0, %k1
; AVX512F_32_WIN-NEXT: vsubsd %xmm1, %xmm0, %xmm2
; AVX512F_32_WIN-NEXT: vmovsd %xmm0, %xmm0, %xmm2 {%k1}
-; AVX512F_32_WIN-NEXT: vmovsd %xmm2, {{[0-9]+}}(%esp)
-; AVX512F_32_WIN-NEXT: fldl {{[0-9]+}}(%esp)
+; AVX512F_32_WIN-NEXT: vmovsd %xmm2, (%esp)
+; AVX512F_32_WIN-NEXT: fldl (%esp)
; AVX512F_32_WIN-NEXT: fisttpll (%esp)
; AVX512F_32_WIN-NEXT: xorl %edx, %edx
; AVX512F_32_WIN-NEXT: vucomisd %xmm0, %xmm1
;
; AVX512F_32_LIN-LABEL: d_to_u64:
; AVX512F_32_LIN: # %bb.0:
-; AVX512F_32_LIN-NEXT: subl $20, %esp
+; AVX512F_32_LIN-NEXT: subl $12, %esp
; AVX512F_32_LIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
; AVX512F_32_LIN-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero
; AVX512F_32_LIN-NEXT: vcmpltsd %xmm1, %xmm0, %k1
; AVX512F_32_LIN-NEXT: vsubsd %xmm1, %xmm0, %xmm2
; AVX512F_32_LIN-NEXT: vmovsd %xmm0, %xmm0, %xmm2 {%k1}
-; AVX512F_32_LIN-NEXT: vmovsd %xmm2, {{[0-9]+}}(%esp)
-; AVX512F_32_LIN-NEXT: fldl {{[0-9]+}}(%esp)
+; AVX512F_32_LIN-NEXT: vmovsd %xmm2, (%esp)
+; AVX512F_32_LIN-NEXT: fldl (%esp)
; AVX512F_32_LIN-NEXT: fisttpll (%esp)
; AVX512F_32_LIN-NEXT: xorl %edx, %edx
; AVX512F_32_LIN-NEXT: vucomisd %xmm0, %xmm1
; AVX512F_32_LIN-NEXT: shll $31, %edx
; AVX512F_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; AVX512F_32_LIN-NEXT: movl (%esp), %eax
-; AVX512F_32_LIN-NEXT: addl $20, %esp
+; AVX512F_32_LIN-NEXT: addl $12, %esp
; AVX512F_32_LIN-NEXT: retl
;
; SSE3_32_WIN-LABEL: d_to_u64:
; SSE3_32_WIN-NEXT: pushl %ebp
; SSE3_32_WIN-NEXT: movl %esp, %ebp
; SSE3_32_WIN-NEXT: andl $-8, %esp
-; SSE3_32_WIN-NEXT: subl $16, %esp
+; SSE3_32_WIN-NEXT: subl $8, %esp
; SSE3_32_WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE3_32_WIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
; SSE3_32_WIN-NEXT: movapd %xmm0, %xmm2
; SSE3_32_WIN-NEXT: subsd %xmm1, %xmm0
; SSE3_32_WIN-NEXT: andnpd %xmm0, %xmm3
; SSE3_32_WIN-NEXT: orpd %xmm3, %xmm2
-; SSE3_32_WIN-NEXT: movsd %xmm2, {{[0-9]+}}(%esp)
-; SSE3_32_WIN-NEXT: fldl {{[0-9]+}}(%esp)
+; SSE3_32_WIN-NEXT: movsd %xmm2, (%esp)
+; SSE3_32_WIN-NEXT: fldl (%esp)
; SSE3_32_WIN-NEXT: fisttpll (%esp)
; SSE3_32_WIN-NEXT: setbe %dl
; SSE3_32_WIN-NEXT: shll $31, %edx
;
; SSE3_32_LIN-LABEL: d_to_u64:
; SSE3_32_LIN: # %bb.0:
-; SSE3_32_LIN-NEXT: subl $20, %esp
+; SSE3_32_LIN-NEXT: subl $12, %esp
; SSE3_32_LIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE3_32_LIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
; SSE3_32_LIN-NEXT: movapd %xmm0, %xmm2
; SSE3_32_LIN-NEXT: subsd %xmm1, %xmm0
; SSE3_32_LIN-NEXT: andnpd %xmm0, %xmm3
; SSE3_32_LIN-NEXT: orpd %xmm3, %xmm2
-; SSE3_32_LIN-NEXT: movsd %xmm2, {{[0-9]+}}(%esp)
-; SSE3_32_LIN-NEXT: fldl {{[0-9]+}}(%esp)
+; SSE3_32_LIN-NEXT: movsd %xmm2, (%esp)
+; SSE3_32_LIN-NEXT: fldl (%esp)
; SSE3_32_LIN-NEXT: fisttpll (%esp)
; SSE3_32_LIN-NEXT: setbe %dl
; SSE3_32_LIN-NEXT: shll $31, %edx
; SSE3_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; SSE3_32_LIN-NEXT: movl (%esp), %eax
-; SSE3_32_LIN-NEXT: addl $20, %esp
+; SSE3_32_LIN-NEXT: addl $12, %esp
; SSE3_32_LIN-NEXT: retl
;
; SSE3_64-LABEL: d_to_u64:
; SSE2_32_WIN-NEXT: pushl %ebp
; SSE2_32_WIN-NEXT: movl %esp, %ebp
; SSE2_32_WIN-NEXT: andl $-8, %esp
-; SSE2_32_WIN-NEXT: subl $24, %esp
+; SSE2_32_WIN-NEXT: subl $16, %esp
; SSE2_32_WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE2_32_WIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
; SSE2_32_WIN-NEXT: movapd %xmm0, %xmm2
;
; SSE2_32_LIN-LABEL: d_to_u64:
; SSE2_32_LIN: # %bb.0:
-; SSE2_32_LIN-NEXT: subl $28, %esp
+; SSE2_32_LIN-NEXT: subl $20, %esp
; SSE2_32_LIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE2_32_LIN-NEXT: movsd {{.*#+}} xmm1 = mem[0],zero
; SSE2_32_LIN-NEXT: movapd %xmm0, %xmm2
; SSE2_32_LIN-NEXT: shll $31, %edx
; SSE2_32_LIN-NEXT: xorl {{[0-9]+}}(%esp), %edx
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
-; SSE2_32_LIN-NEXT: addl $28, %esp
+; SSE2_32_LIN-NEXT: addl $20, %esp
; SSE2_32_LIN-NEXT: retl
;
; SSE2_64-LABEL: d_to_u64:
; AVX512F_32_WIN-NEXT: pushl %ebp
; AVX512F_32_WIN-NEXT: movl %esp, %ebp
; AVX512F_32_WIN-NEXT: andl $-8, %esp
-; AVX512F_32_WIN-NEXT: subl $16, %esp
+; AVX512F_32_WIN-NEXT: subl $8, %esp
; AVX512F_32_WIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
-; AVX512F_32_WIN-NEXT: vmovsd %xmm0, {{[0-9]+}}(%esp)
-; AVX512F_32_WIN-NEXT: fldl {{[0-9]+}}(%esp)
+; AVX512F_32_WIN-NEXT: vmovsd %xmm0, (%esp)
+; AVX512F_32_WIN-NEXT: fldl (%esp)
; AVX512F_32_WIN-NEXT: fisttpll (%esp)
; AVX512F_32_WIN-NEXT: movl (%esp), %eax
; AVX512F_32_WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
;
; AVX512F_32_LIN-LABEL: d_to_s64:
; AVX512F_32_LIN: # %bb.0:
-; AVX512F_32_LIN-NEXT: subl $20, %esp
+; AVX512F_32_LIN-NEXT: subl $12, %esp
; AVX512F_32_LIN-NEXT: vmovsd {{.*#+}} xmm0 = mem[0],zero
-; AVX512F_32_LIN-NEXT: vmovsd %xmm0, {{[0-9]+}}(%esp)
-; AVX512F_32_LIN-NEXT: fldl {{[0-9]+}}(%esp)
+; AVX512F_32_LIN-NEXT: vmovsd %xmm0, (%esp)
+; AVX512F_32_LIN-NEXT: fldl (%esp)
; AVX512F_32_LIN-NEXT: fisttpll (%esp)
; AVX512F_32_LIN-NEXT: movl (%esp), %eax
; AVX512F_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; AVX512F_32_LIN-NEXT: addl $20, %esp
+; AVX512F_32_LIN-NEXT: addl $12, %esp
; AVX512F_32_LIN-NEXT: retl
;
; SSE3_32_WIN-LABEL: d_to_s64:
; SSE3_32_WIN-NEXT: pushl %ebp
; SSE3_32_WIN-NEXT: movl %esp, %ebp
; SSE3_32_WIN-NEXT: andl $-8, %esp
-; SSE3_32_WIN-NEXT: subl $16, %esp
+; SSE3_32_WIN-NEXT: subl $8, %esp
; SSE3_32_WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
-; SSE3_32_WIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
-; SSE3_32_WIN-NEXT: fldl {{[0-9]+}}(%esp)
+; SSE3_32_WIN-NEXT: movsd %xmm0, (%esp)
+; SSE3_32_WIN-NEXT: fldl (%esp)
; SSE3_32_WIN-NEXT: fisttpll (%esp)
; SSE3_32_WIN-NEXT: movl (%esp), %eax
; SSE3_32_WIN-NEXT: movl {{[0-9]+}}(%esp), %edx
;
; SSE3_32_LIN-LABEL: d_to_s64:
; SSE3_32_LIN: # %bb.0:
-; SSE3_32_LIN-NEXT: subl $20, %esp
+; SSE3_32_LIN-NEXT: subl $12, %esp
; SSE3_32_LIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
-; SSE3_32_LIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
-; SSE3_32_LIN-NEXT: fldl {{[0-9]+}}(%esp)
+; SSE3_32_LIN-NEXT: movsd %xmm0, (%esp)
+; SSE3_32_LIN-NEXT: fldl (%esp)
; SSE3_32_LIN-NEXT: fisttpll (%esp)
; SSE3_32_LIN-NEXT: movl (%esp), %eax
; SSE3_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; SSE3_32_LIN-NEXT: addl $20, %esp
+; SSE3_32_LIN-NEXT: addl $12, %esp
; SSE3_32_LIN-NEXT: retl
;
; SSE3_64-LABEL: d_to_s64:
; SSE2_32_WIN-NEXT: pushl %ebp
; SSE2_32_WIN-NEXT: movl %esp, %ebp
; SSE2_32_WIN-NEXT: andl $-8, %esp
-; SSE2_32_WIN-NEXT: subl $24, %esp
+; SSE2_32_WIN-NEXT: subl $16, %esp
; SSE2_32_WIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE2_32_WIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
; SSE2_32_WIN-NEXT: fldl {{[0-9]+}}(%esp)
;
; SSE2_32_LIN-LABEL: d_to_s64:
; SSE2_32_LIN: # %bb.0:
-; SSE2_32_LIN-NEXT: subl $28, %esp
+; SSE2_32_LIN-NEXT: subl $20, %esp
; SSE2_32_LIN-NEXT: movsd {{.*#+}} xmm0 = mem[0],zero
; SSE2_32_LIN-NEXT: movsd %xmm0, {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: fldl {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: fldcw {{[0-9]+}}(%esp)
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %eax
; SSE2_32_LIN-NEXT: movl {{[0-9]+}}(%esp), %edx
-; SSE2_32_LIN-NEXT: addl $28, %esp
+; SSE2_32_LIN-NEXT: addl $20, %esp
; SSE2_32_LIN-NEXT: retl
;
; SSE2_64-LABEL: d_to_s64: