x86/opusdps: clear the high bits from some gprs
authorJames Almer <jamrial@gmail.com>
Wed, 11 Sep 2019 23:22:17 +0000 (20:22 -0300)
committerJames Almer <jamrial@gmail.com>
Wed, 11 Sep 2019 23:42:31 +0000 (20:42 -0300)
Fixes checkasm on systems like win64.

Reviewed-by: Lynne
Signed-off-by: James Almer <jamrial@gmail.com>
libavcodec/x86/opusdsp.asm

index f5d206a..418cc16 100644 (file)
@@ -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