From 80444e23ac29393fca2a25a56aff888f9cdfe33d Mon Sep 17 00:00:00 2001 From: James Almer Date: Wed, 11 Sep 2019 20:22:17 -0300 Subject: [PATCH] x86/opusdps: clear the high bits from some gprs Fixes checkasm on systems like win64. Reviewed-by: Lynne Signed-off-by: James Almer --- libavcodec/x86/opusdsp.asm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libavcodec/x86/opusdsp.asm b/libavcodec/x86/opusdsp.asm index f5d206a8b1..418cc16330 100644 --- a/libavcodec/x86/opusdsp.asm +++ b/libavcodec/x86/opusdsp.asm @@ -64,7 +64,7 @@ cglobal opus_deemphasis, 4, 4, 8, out, in, coeff, len add inq, mmsize add outq, mmsize - sub lenq, mmsize >> 2 + sub lend, mmsize >> 2 jg .loop %if ARCH_X86_64 == 0 @@ -80,7 +80,8 @@ cglobal opus_postfilter, 4, 4, 8, data, period, gains, len VBROADCASTSS m1, [gainsq + 4] VBROADCASTSS m2, [gainsq + 8] - lea periodq, [periodq*4 + 8] + shl periodd, 2 + add periodq, 8 neg periodq movups m3, [dataq + periodq] @@ -104,7 +105,7 @@ cglobal opus_postfilter, 4, 4, 8, data, period, gains, len movaps [dataq], m5 add dataq, mmsize - sub lenq, mmsize >> 2 + sub lend, mmsize >> 2 jg .loop RET