:"=r"(H)\
:"m"(src[-FDEC_STRIDE-1]), "m"(src[-FDEC_STRIDE+8]),\
"m"(*pw_12345678), "m"(*pw_m87654321)\
+ :"xmm0", "xmm1"\
);
#else // !HIGH_BIT_DEPTH
#define PREDICT_16x16_P_ASM\
:"=r"(H)\
:"m"(src[-FDEC_STRIDE]), "m"(src[-FDEC_STRIDE+8]),\
"m"(src[-FDEC_STRIDE-8]), "m"(*pb_12345678), "m"(*pb_m87654321)\
+ :"mm0", "mm1"\
);
#endif // HIGH_BIT_DEPTH
"movd %%xmm0, %0 \n"\
:"=r"(H)\
:"m"(src[-FDEC_STRIDE]), "m"(*pw_m32101234)\
+ :"xmm0", "xmm1"\
);
#else // !HIGH_BIT_DEPTH
#define PREDICT_8x8C_P_ASM\
"movswl %w0, %0 \n"\
:"=r"(H)\
:"m"(src[-FDEC_STRIDE]), "m"(*pb_m32101234)\
+ :"mm0", "mm1"\
);
#endif // HIGH_BIT_DEPTH
"movd %%mm0, %0 \n"
:"=m"(*(x264_union32_t*)dst)
:"m"(M32( a )), "m"(M32( b )), "m"(M32( c ))
+ :"mm0", "mm1", "mm2", "mm3"
);
}
"movd %%mm4, %0 \n"
:"=r"(sum), "+r"(i_mvc)
:"r"(mvc), "m"(M64( mvc )), "m"(pw_1)
+ :"mm0", "mm2", "mm3", "mm4", "cc"
);
return sum;
}
:"=r"(amvd)
:"m"(M16( mvdleft )),"m"(M16( mvdtop )),
"m"(pb_2),"m"(pb_32),"m"(pb_33)
+ :"mm0", "mm1", "mm2"
);
return amvd;
}
"3: \n"
:"+r"(mvc), "=m"(M64( dst )), "+r"(tmp), "+r"(mvc_max), "+r"(i)
:"r"(dst), "g"(pmv), "m"(pd_32), "m"(M64( mvc ))
+ :"mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "cc"
);
return i;
}
"3: \n"
:"+r"(mvc), "=m"(M64( dst )), "+r"(tmp), "+r"(mvc_max), "+r"(i)
:"r"(dst), "m"(pw_2), "g"(pmv), "m"(pd_32), "m"(M64( mvc ))
+ :"mm0", "mm1", "mm2", "mm3", "mm4", "mm5", "mm6", "mm7", "cc"
);
return i;
}