@ -122,8 +122,8 @@ DEF_HELPER_2(glue(movq_mm_T0, SUFFIX), void, Reg, i64)
# if SHIFT == 0
DEF_HELPER_3 ( glue ( pshufw , SUFFIX ) , void , Reg , Reg , int )
# else
DEF_HELPER_3 ( shufps , void , Reg , Reg , int )
DEF_HELPER_3 ( shufpd , void , Reg , Reg , int )
DEF_HELPER_3 ( glue ( shufps , SUFFIX ) , void , Reg , Reg , int )
DEF_HELPER_3 ( glue ( shufpd , SUFFIX ) , void , Reg , Reg , int )
DEF_HELPER_3 ( glue ( pshufd , SUFFIX ) , void , Reg , Reg , int )
DEF_HELPER_3 ( glue ( pshuflw , SUFFIX ) , void , Reg , Reg , int )
DEF_HELPER_3 ( glue ( pshufhw , SUFFIX ) , void , Reg , Reg , int )
@ -134,9 +134,9 @@ DEF_HELPER_3(glue(pshufhw, SUFFIX), void, Reg, Reg, int)
/* XXX: not accurate */
# define SSE_HELPER_S(name, F) \
DEF_HELPER_3 ( name # # ps , void , env , Reg , Reg ) \
DEF_HELPER_3 ( glue ( name # # ps , SUFFIX ) , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # ss , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # pd , void , env , Reg , Reg ) \
DEF_HELPER_3 ( glue ( name # # pd , SUFFIX ) , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # sd , void , env , Reg , Reg )
SSE_HELPER_S ( add , FPU_ADD )
@ -148,12 +148,12 @@ SSE_HELPER_S(max, FPU_MAX)
SSE_HELPER_S ( sqrt , FPU_SQRT )
DEF_HELPER_3 ( cvtps2pd , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtpd2ps , void , env , Reg , Reg )
DEF_HELPER_3 ( glue ( cvtps2pd , SUFFIX ) , void , env , Reg , Reg )
DEF_HELPER_3 ( glue ( cvtpd2ps , SUFFIX ) , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtss2sd , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtsd2ss , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtdq2ps , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtdq2pd , void , env , Reg , Reg )
DEF_HELPER_3 ( glue ( cvtdq2ps , SUFFIX ) , void , env , Reg , Reg )
DEF_HELPER_3 ( glue ( cvtdq2pd , SUFFIX ) , void , env , Reg , Reg )
DEF_HELPER_3 ( cvtpi2ps , void , env , ZMMReg , MMXReg )
DEF_HELPER_3 ( cvtpi2pd , void , env , ZMMReg , MMXReg )
DEF_HELPER_3 ( cvtsi2ss , void , env , ZMMReg , i32 )
@ -164,8 +164,8 @@ DEF_HELPER_3(cvtsq2ss, void, env, ZMMReg, i64)
DEF_HELPER_3 ( cvtsq2sd , void , env , ZMMReg , i64 )
# endif
DEF_HELPER_3 ( cvtps2dq , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( cvtpd2dq , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( cvtps2dq , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( cvtpd2dq , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( cvtps2pi , void , env , MMXReg , ZMMReg )
DEF_HELPER_3 ( cvtpd2pi , void , env , MMXReg , ZMMReg )
DEF_HELPER_2 ( cvtss2si , s32 , env , ZMMReg )
@ -175,8 +175,8 @@ DEF_HELPER_2(cvtss2sq, s64, env, ZMMReg)
DEF_HELPER_2 ( cvtsd2sq , s64 , env , ZMMReg )
# endif
DEF_HELPER_3 ( cvttps2dq , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( cvttpd2dq , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( cvttps2dq , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( cvttpd2dq , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( cvttps2pi , void , env , MMXReg , ZMMReg )
DEF_HELPER_3 ( cvttpd2pi , void , env , MMXReg , ZMMReg )
DEF_HELPER_2 ( cvttss2si , s32 , env , ZMMReg )
@ -186,25 +186,25 @@ DEF_HELPER_2(cvttss2sq, s64, env, ZMMReg)
DEF_HELPER_2 ( cvttsd2sq , s64 , env , ZMMReg )
# endif
DEF_HELPER_3 ( rsqrtps , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( rsqrtps , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( rsqrtss , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( rcpps , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( rcpps , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( rcpss , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( extrq_r , void , env , ZMMReg , ZMMReg )
DEF_HELPER_4 ( extrq_i , void , env , ZMMReg , int , int )
DEF_HELPER_3 ( insertq_r , void , env , ZMMReg , ZMMReg )
DEF_HELPER_4 ( insertq_i , void , env , ZMMReg , int , int )
DEF_HELPER_3 ( haddps , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( haddpd , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( hsubps , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( hsubpd , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( addsubps , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( addsubpd , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( haddps , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( haddpd , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( hsubps , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( hsubpd , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( addsubps , SUFFIX ) , void , env , ZMMReg , ZMMReg )
DEF_HELPER_3 ( glue ( addsubpd , SUFFIX ) , void , env , ZMMReg , ZMMReg )
# define SSE_HELPER_CMP(name, F) \
DEF_HELPER_3 ( name # # ps , void , env , Reg , Reg ) \
DEF_HELPER_3 ( glue ( name # # ps , SUFFIX ) , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # ss , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # pd , void , env , Reg , Reg ) \
DEF_HELPER_3 ( glue ( name # # pd , SUFFIX ) , void , env , Reg , Reg ) \
DEF_HELPER_3 ( name # # sd , void , env , Reg , Reg )
SSE_HELPER_CMP ( cmpeq , FPU_CMPEQ )
@ -220,8 +220,8 @@ DEF_HELPER_3(ucomiss, void, env, Reg, Reg)
DEF_HELPER_3 ( comiss , void , env , Reg , Reg )
DEF_HELPER_3 ( ucomisd , void , env , Reg , Reg )
DEF_HELPER_3 ( comisd , void , env , Reg , Reg )
DEF_HELPER_2 ( movmskps , i32 , env , Reg )
DEF_HELPER_2 ( movmskpd , i32 , env , Reg )
DEF_HELPER_2 ( glue ( movmskps , SUFFIX ) , i32 , env , Reg )
DEF_HELPER_2 ( glue ( movmskpd , SUFFIX ) , i32 , env , Reg )
# endif
DEF_HELPER_2 ( glue ( pmovmskb , SUFFIX ) , i32 , env , Reg )