"1: \n"\
"movaps (%3,%0), %%xmm0 \n"\
stereo("movaps %%xmm0, %%xmm1 \n")\
- "mulps %%xmm6, %%xmm0 \n"\
- stereo("mulps %%xmm7, %%xmm1 \n")\
+ "mulps %%xmm4, %%xmm0 \n"\
+ stereo("mulps %%xmm5, %%xmm1 \n")\
"lea 1024(%3,%0), %1 \n"\
"mov %5, %2 \n"\
"2: \n"\
__asm__ volatile(
"1: \n"
"sub $8, %0 \n"
- "movss (%2,%0), %%xmm6 \n"
- "movss 4(%2,%0), %%xmm7 \n"
- "shufps $0, %%xmm6, %%xmm6 \n"
- "shufps $0, %%xmm7, %%xmm7 \n"
- "movaps %%xmm6, (%1,%0,4) \n"
- "movaps %%xmm7, 16(%1,%0,4) \n"
+ "movss (%2,%0), %%xmm4 \n"
+ "movss 4(%2,%0), %%xmm5 \n"
+ "shufps $0, %%xmm4, %%xmm4 \n"
+ "shufps $0, %%xmm5, %%xmm5 \n"
+ "movaps %%xmm4, (%1,%0,4) \n"
+ "movaps %%xmm5, 16(%1,%0,4) \n"
"jg 1b \n"
:"+&r"(j)
:"r"(matrix_simd), "r"(matrix)
static void get_pixels_sse2(DCTELEM *block, const uint8_t *pixels, int line_size)
{
__asm__ volatile(
- "pxor %%xmm7, %%xmm7 \n\t"
+ "pxor %%xmm4, %%xmm4 \n\t"
"movq (%0), %%xmm0 \n\t"
"movq (%0, %2), %%xmm1 \n\t"
"movq (%0, %2,2), %%xmm2 \n\t"
"movq (%0, %3), %%xmm3 \n\t"
"lea (%0,%2,4), %0 \n\t"
- "punpcklbw %%xmm7, %%xmm0 \n\t"
- "punpcklbw %%xmm7, %%xmm1 \n\t"
- "punpcklbw %%xmm7, %%xmm2 \n\t"
- "punpcklbw %%xmm7, %%xmm3 \n\t"
+ "punpcklbw %%xmm4, %%xmm0 \n\t"
+ "punpcklbw %%xmm4, %%xmm1 \n\t"
+ "punpcklbw %%xmm4, %%xmm2 \n\t"
+ "punpcklbw %%xmm4, %%xmm3 \n\t"
"movdqa %%xmm0, (%1) \n\t"
"movdqa %%xmm1, 16(%1) \n\t"
"movdqa %%xmm2, 32(%1) \n\t"
"movq (%0, %2), %%xmm1 \n\t"
"movq (%0, %2,2), %%xmm2 \n\t"
"movq (%0, %3), %%xmm3 \n\t"
- "punpcklbw %%xmm7, %%xmm0 \n\t"
- "punpcklbw %%xmm7, %%xmm1 \n\t"
- "punpcklbw %%xmm7, %%xmm2 \n\t"
- "punpcklbw %%xmm7, %%xmm3 \n\t"
+ "punpcklbw %%xmm4, %%xmm0 \n\t"
+ "punpcklbw %%xmm4, %%xmm1 \n\t"
+ "punpcklbw %%xmm4, %%xmm2 \n\t"
+ "punpcklbw %%xmm4, %%xmm3 \n\t"
"movdqa %%xmm0, 64(%1) \n\t"
"movdqa %%xmm1, 80(%1) \n\t"
"movdqa %%xmm2, 96(%1) \n\t"