Browse Source

x86/opusdps: clear the high bits from some gprs

Fixes checkasm on systems like win64.

Reviewed-by: Lynne
Signed-off-by: James Almer <jamrial@gmail.com>
tags/n4.3
James Almer 6 years ago
parent
commit
80444e23ac
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      libavcodec/x86/opusdsp.asm

+ 4
- 3
libavcodec/x86/opusdsp.asm View 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

Loading…
Cancel
Save