@@ -799,10 +799,10 @@
pminsw %1, %3
%endmacro
-%macro PMINSD 3 ; dst, src, tmp/unused
+%macro PMINSD 3-4 ; dst, src, tmp/unused, rounding-allowed
%if cpuflag(sse4)
pminsd %1, %2
-%elif cpuflag(sse2)
+%elif cpuflag(sse2) && (%0 > 3)
cvtdq2ps %1, %1
minps %1, %2
cvtps2dq %1, %1
@@ -364,7 +364,7 @@ cglobal hscale%1to%2_%4, %5, 10, %6, pos0, dst, w, srcmem, filter, fltpos, fltsi
movd [dstq+wq*2], m0
%endif ; %3 ==/!= X
%else ; %2 == 19
- PMINSD m0, m2, m4
+ PMINSD m0, m2, m4, 1
%ifnidn %3, X
mova [dstq+wq*(4>>wshr)], m0
%else ; %3 == X