Revision a4605efd libavcodec/x86/dsputil_yasm.asm

View differences:

libavcodec/x86/dsputil_yasm.asm
202 202
    mova    m2, [v3q + orderq]
203 203
    mova    m3, [v3q + orderq + mmsize]
204 204
%endif
205
    pmaddwd m0, [v1q + orderq]
206
    pmaddwd m1, [v1q + orderq + mmsize]
205
    %define t0  [v1q + orderq]
206
    %define t1  [v1q + orderq + mmsize]
207
%ifdef ARCH_X86_64
208
    mova    m8, t0
209
    mova    m9, t1
210
    %define t0  m8
211
    %define t1  m9
212
%endif
213
    pmaddwd m0, t0
214
    pmaddwd m1, t1
207 215
    pmullw  m2, m7
208 216
    pmullw  m3, m7
209
    paddw   m2, [v1q + orderq]
210
    paddw   m3, [v1q + orderq + mmsize]
217
    paddw   m2, t0
218
    paddw   m3, t1
211 219
    paddd   m6, m0
212 220
    paddd   m6, m1
213 221
    mova    [v1q + orderq], m2
......
219 227
%endmacro
220 228

  
221 229
; int scalarproduct_and_madd_int16(int16_t *v1, int16_t *v2, int16_t *v3, int order, int mul)
222
cglobal scalarproduct_and_madd_int16_ssse3, 4,5,8, v1, v2, v3, order, mul
230
cglobal scalarproduct_and_madd_int16_ssse3, 4,5,10, v1, v2, v3, order, mul
223 231
    shl orderq, 1
224 232
    movd    m7, mulm
225 233
    pshuflw m7, m7, 0

Also available in: Unified diff