• Home
  • Raw
  • Download

Lines Matching refs:sV

9948 static IRTemp math_PALIGNR_XMM ( IRTemp sV, IRTemp dV, UInt imm8 )   in math_PALIGNR_XMM()  argument
9960 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PALIGNR_XMM()
9961 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in math_PALIGNR_XMM()
10268 IRTemp sV = newTemp(Ity_V128); in dis_PSHUFD_32x4() local
10273 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_PSHUFD_32x4()
10282 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PSHUFD_32x4()
10292 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_PSHUFD_32x4()
10313 IRTemp sV = newTemp(Ity_V256); in dis_PSHUFD_32x8() local
10319 assign( sV, getYMMReg(rE) ); in dis_PSHUFD_32x8()
10326 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PSHUFD_32x8()
10334 breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4], in dis_PSHUFD_32x8()
10349 static IRTemp math_PSRLDQ ( IRTemp sV, Int imm ) in math_PSRLDQ() argument
10363 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSRLDQ()
10364 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSRLDQ()
10396 static IRTemp math_PSLLDQ ( IRTemp sV, Int imm ) in math_PSLLDQ() argument
10410 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSLLDQ()
10411 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSLLDQ()
11020 static IRTemp math_UNPCKxPS_128 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPS_128() argument
11025 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_UNPCKxPS_128()
11035 static IRTemp math_UNPCKxPD_128 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPD_128() argument
11043 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_UNPCKxPD_128()
11044 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in math_UNPCKxPD_128()
11056 static IRTemp math_UNPCKxPD_256 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPD_256() argument
11061 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in math_UNPCKxPD_256()
11078 static IRTemp math_UNPCKxPS_256 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPS_256() argument
11082 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_UNPCKxPS_256()
11092 static IRTemp math_SHUFPS_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPS_128() argument
11099 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_SHUFPS_128()
11116 static IRTemp math_SHUFPS_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPS_256() argument
11120 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_SHUFPS_256()
11130 static IRTemp math_SHUFPD_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPD_128() argument
11139 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_SHUFPD_128()
11140 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in math_SHUFPD_128()
11155 static IRTemp math_SHUFPD_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPD_256() argument
11159 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_SHUFPD_256()
11169 static IRTemp math_BLENDPD_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPD_128() argument
11185 binop( Iop_AndV128, mkexpr(sV), in math_BLENDPD_128()
11193 static IRTemp math_BLENDPD_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPD_256() argument
11197 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_BLENDPD_256()
11207 static IRTemp math_BLENDPS_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPS_128() argument
11218 binop( Iop_AndV128, mkexpr(sV), in math_BLENDPS_128()
11226 static IRTemp math_BLENDPS_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPS_256() argument
11230 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_BLENDPS_256()
11240 static IRTemp math_PBLENDW_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_PBLENDW_128() argument
11255 binop( Iop_AndV128, mkexpr(sV), in math_PBLENDW_128()
11263 static IRTemp math_PMULUDQ_128 ( IRTemp sV, IRTemp dV ) in math_PMULUDQ_128() argument
11270 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_PMULUDQ_128()
11279 static IRTemp math_PMULUDQ_256 ( IRTemp sV, IRTemp dV ) in math_PMULUDQ_256() argument
11286 breakupV256toV128s( sV, &sHi, &sLo); in math_PMULUDQ_256()
11295 static IRTemp math_PMULDQ_128 ( IRTemp dV, IRTemp sV ) in math_PMULDQ_128() argument
11302 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_PMULDQ_128()
11311 static IRTemp math_PMULDQ_256 ( IRTemp sV, IRTemp dV ) in math_PMULDQ_256() argument
11318 breakupV256toV128s( sV, &sHi, &sLo); in math_PMULDQ_256()
11327 static IRTemp math_PMADDWD_128 ( IRTemp dV, IRTemp sV ) in math_PMADDWD_128() argument
11333 breakupV128to64s( sV, &sVhi, &sVlo ); in math_PMADDWD_128()
11349 static IRTemp math_PMADDWD_256 ( IRTemp dV, IRTemp sV ) in math_PMADDWD_256() argument
11354 breakupV256toV128s( sV, &sHi, &sLo); in math_PMADDWD_256()
11363 static IRTemp math_ADDSUBPD_128 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPD_128() argument
11372 assign( addV, triop(Iop_Add64Fx2, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_128()
11373 assign( subV, triop(Iop_Sub64Fx2, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_128()
11384 static IRTemp math_ADDSUBPD_256 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPD_256() argument
11393 assign( addV, triop(Iop_Add64Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_256()
11394 assign( subV, triop(Iop_Sub64Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_256()
11405 static IRTemp math_ADDSUBPS_128 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPS_128() argument
11414 assign( addV, triop(Iop_Add32Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_128()
11415 assign( subV, triop(Iop_Sub32Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_128()
11426 static IRTemp math_ADDSUBPS_256 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPS_256() argument
11437 assign( addV, triop(Iop_Add32Fx8, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_256()
11438 assign( subV, triop(Iop_Sub32Fx8, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_256()
11459 IRTemp sVmut, dVmut, sVcon, sV, dV, s3, s2, s1, s0; in dis_PSHUFxW_128() local
11461 sV = newTemp(Ity_V128); in dis_PSHUFxW_128()
11468 assign( sV, getXMMReg(rE) ); in dis_PSHUFxW_128()
11476 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PSHUFxW_128()
11486 assign( sVmut, unop(xIsH ? Iop_V128HIto64 : Iop_V128to64, mkexpr(sV)) ); in dis_PSHUFxW_128()
11487 assign( sVcon, unop(xIsH ? Iop_V128to64 : Iop_V128HIto64, mkexpr(sV)) ); in dis_PSHUFxW_128()
11514 IRTemp sV, s[8], sV64[4], dVhi, dVlo; in dis_PSHUFxW_256() local
11517 sV = newTemp(Ity_V256); in dis_PSHUFxW_256()
11522 assign( sV, getYMMReg(rE) ); in dis_PSHUFxW_256()
11529 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PSHUFxW_256()
11536 breakupV256to64s( sV, &sV64[3], &sV64[2], &sV64[1], &sV64[0] ); in dis_PSHUFxW_256()
11558 IRTemp sV = newTemp(Ity_V128); in dis_PEXTRW_128_EregOnly_toG() local
11564 assign(sV, getXMMReg(rE)); in dis_PEXTRW_128_EregOnly_toG()
11574 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_PEXTRW_128_EregOnly_toG()
12228 static IRTemp math_PSADBW_128 ( IRTemp dV, IRTemp sV ) in math_PSADBW_128() argument
12233 breakupV128to64s( sV, &s1, &s0 ); in math_PSADBW_128()
12251 static IRTemp math_PSADBW_256 ( IRTemp dV, IRTemp sV ) in math_PSADBW_256() argument
12256 breakupV256toV128s( sV, &sHi, &sLo); in math_PSADBW_256()
12718 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
12725 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
12731 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
12736 IRTemp res = math_UNPCKxPS_128( sV, dV, hi ); in dis_ESC_0F__SSE2()
12746 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
12753 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
12759 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
12764 IRTemp res = math_UNPCKxPD_128( sV, dV, hi ); in dis_ESC_0F__SSE2()
13939 IRTemp sV, dV, s3, s2, s1, s0; in dis_ESC_0F__SSE2() local
13941 sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2()
13946 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F__SSE2()
13955 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
13962 breakup64to16s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F__SSE2()
14047 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14048 assign( sV, getXMMReg(reg) ); in dis_ESC_0F__SSE2()
14049 putXMMReg(reg, mkexpr(math_PSRLDQ( sV, imm ))); in dis_ESC_0F__SSE2()
14062 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14063 assign( sV, getXMMReg(reg) ); in dis_ESC_0F__SSE2()
14064 putXMMReg(reg, mkexpr(math_PSLLDQ( sV, imm ))); in dis_ESC_0F__SSE2()
14438 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2() local
14441 assign(sV, getMMXReg(eregLO3ofRM(modrm))); in dis_ESC_0F__SSE2()
14442 breakup64to16s( sV, &t3, &t2, &t1, &t0 ); in dis_ESC_0F__SSE2()
14484 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14491 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
14497 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14502 IRTemp res = math_SHUFPS_128( sV, dV, imm8 ); in dis_ESC_0F__SSE2()
14509 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14516 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F__SSE2()
14524 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14532 IRTemp res = math_SHUFPD_128( sV, dV, select ); in dis_ESC_0F__SSE2()
15004 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
15011 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
15016 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
15020 putXMMReg( rG, mkexpr(math_PMULUDQ_128( sV, dV )) ); in dis_ESC_0F__SSE2()
15027 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2() local
15037 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F__SSE2()
15043 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
15050 assign( t1, unop(Iop_64to32, mkexpr(sV)) ); in dis_ESC_0F__SSE2()
15061 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
15067 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
15072 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
15077 putXMMReg( rG, mkexpr(math_PMADDWD_128(dV, sV)) ); in dis_ESC_0F__SSE2()
15094 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
15100 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
15105 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
15110 putXMMReg( rG, mkexpr( math_PSADBW_128 ( dV, sV ) ) ); in dis_ESC_0F__SSE2()
15229 IRTemp sV = newTemp(Ity_V128); in dis_MOVDDUP_128() local
15235 assign( sV, getXMMReg(rE) ); in dis_MOVDDUP_128()
15239 assign ( d0, unop(Iop_V128to64, mkexpr(sV)) ); in dis_MOVDDUP_128()
15291 IRTemp sV = newTemp(Ity_V128); in dis_MOVSxDUP_128() local
15298 assign( sV, getXMMReg(rE) ); in dis_MOVSxDUP_128()
15306 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_MOVSxDUP_128()
15311 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_MOVSxDUP_128()
15325 IRTemp sV = newTemp(Ity_V256); in dis_MOVSxDUP_256() local
15332 assign( sV, getYMMReg(rE) ); in dis_MOVSxDUP_256()
15338 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_MOVSxDUP_256()
15343 breakupV256to32s( sV, &s7, &s6, &s5, &s4, &s3, &s2, &s1, &s0 ); in dis_MOVSxDUP_256()
15352 static IRTemp math_HADDPS_128 ( IRTemp dV, IRTemp sV, Bool isAdd ) in math_HADDPS_128() argument
15360 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_HADDPS_128()
15374 static IRTemp math_HADDPD_128 ( IRTemp dV, IRTemp sV, Bool isAdd ) in math_HADDPD_128() argument
15382 breakupV128to64s( sV, &s1, &s0 ); in math_HADDPD_128()
15584 IRTemp math_PSHUFB_XMM ( IRTemp dV/*data to perm*/, IRTemp sV/*perm*/ ) in math_PSHUFB_XMM() argument
15605 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSHUFB_XMM()
15606 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSHUFB_XMM()
15675 IRTemp math_PSHUFB_YMM ( IRTemp dV/*data to perm*/, IRTemp sV/*perm*/ ) in math_PSHUFB_YMM() argument
15680 breakupV256toV128s( sV, &sHi, &sLo); in math_PSHUFB_YMM()
15699 IRTemp sV = newTemp(Ity_V128); in dis_PHADD_128() local
15727 assign( sV, getXMMReg(rE) ); in dis_PHADD_128()
15735 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PHADD_128()
15743 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_PHADD_128()
15744 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_PHADD_128()
15773 IRTemp sV = newTemp(Ity_V256); in dis_PHADD_256() local
15799 assign( sV, getYMMReg(rE) ); in dis_PHADD_256()
15804 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PHADD_256()
15810 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_PHADD_256()
15836 static IRTemp math_PMADDUBSW_128 ( IRTemp dV, IRTemp sV ) in math_PMADDUBSW_128() argument
15843 assign( sVoddsSX, binop(Iop_SarN16x8, mkexpr(sV), mkU8(8)) ); in math_PMADDUBSW_128()
15845 binop(Iop_ShlN16x8, mkexpr(sV), mkU8(8)), in math_PMADDUBSW_128()
15863 IRTemp math_PMADDUBSW_256 ( IRTemp dV, IRTemp sV ) in math_PMADDUBSW_256() argument
15868 breakupV256toV128s( sV, &sHi, &sLo); in math_PMADDUBSW_256()
15899 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
15906 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
15913 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15919 IRTemp res = math_PSHUFB_XMM( dV, sV ); in dis_ESC_0F38__SupSSE3()
15925 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
15933 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
15939 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15953 binop(Iop_And64, mkexpr(sV), mkU64(0x0707070707070707ULL)) in dis_ESC_0F38__SupSSE3()
15956 unop(Iop_Not64, binop(Iop_SarN8x8, mkexpr(sV), mkU8(7))) in dis_ESC_0F38__SupSSE3()
16004 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16027 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16033 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16042 binop(opCatE,mkexpr(sV),mkexpr(dV)), in dis_ESC_0F38__SupSSE3()
16043 binop(opCatO,mkexpr(sV),mkexpr(dV)) in dis_ESC_0F38__SupSSE3()
16055 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16064 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__SupSSE3()
16070 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16075 putXMMReg( rG, mkexpr( math_PMADDUBSW_128( dV, sV ) ) ); in dis_ESC_0F38__SupSSE3()
16081 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16093 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16099 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16107 binop(Iop_SarN16x4, mkexpr(sV), mkU8(8)) ); in dis_ESC_0F38__SupSSE3()
16110 binop(Iop_ShlN16x4, mkexpr(sV), mkU8(8)), in dis_ESC_0F38__SupSSE3()
16138 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16158 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16165 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16173 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16174 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16189 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16206 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16212 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16220 dis_PSIGN_helper( mkexpr(sV), mkexpr(dV), laneszB ) in dis_ESC_0F38__SupSSE3()
16231 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16242 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16249 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16257 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16258 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16272 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16280 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16286 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16294 dis_PMULHRSW_helper( mkexpr(sV), mkexpr(dV) ) in dis_ESC_0F38__SupSSE3()
16308 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16321 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16328 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16335 mkexpr(math_PABS_XMM(sV, laneszB)) ); in dis_ESC_0F38__SupSSE3()
16342 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16357 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16363 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16370 mkexpr(math_PABS_MMX( sV, laneszB )) ); in dis_ESC_0F38__SupSSE3()
16419 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__SupSSE3() local
16426 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F3A__SupSSE3()
16435 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F3A__SupSSE3()
16443 IRTemp res = math_PALIGNR_XMM( sV, dV, d64 ); in dis_ESC_0F3A__SupSSE3()
16449 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F3A__SupSSE3() local
16458 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F3A__SupSSE3()
16466 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F3A__SupSSE3()
16475 assign( res, mkexpr(sV) ); in dis_ESC_0F3A__SupSSE3()
16480 binop(Iop_Shr64, mkexpr(sV), mkU8(8*d64)), in dis_ESC_0F3A__SupSSE3()
17733 IRTemp sV = newTemp(Ity_V128); in dis_PHMINPOSUW_128() local
17740 assign( sV, getXMMReg(rE) ); in dis_PHMINPOSUW_128()
17747 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PHMINPOSUW_128()
17751 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_PHMINPOSUW_128()
17752 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_PHMINPOSUW_128()
18072 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SSE4() local
18079 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__SSE4()
18084 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SSE4()
18089 putXMMReg( rG, mkexpr(math_PMULDQ_128( dV, sV )) ); in dis_ESC_0F38__SSE4()
19217 static IRTemp math_PCLMULQDQ( IRTemp dV, IRTemp sV, UInt imm8 ) in math_PCLMULQDQ() argument
19224 mkexpr(sV))); in math_PCLMULQDQ()
23052 IRTemp sV = isYMM ? newTemp(Ity_V256) : newTemp(Ity_V128); in dis_AVX_var_shiftV_byE() local
23078 assign( sV, isYMM ? getYMMReg(rV) : getXMMReg(rV) ); in dis_AVX_var_shiftV_byE()
23097 breakupV256to32s( sV, &sVs[7], &sVs[6], &sVs[5], &sVs[4], in dis_AVX_var_shiftV_byE()
23102 breakupV128to32s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
23108 breakupV256to64s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
23111 breakupV128to64s( sV, &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
23896 IRTemp sV = newTemp(Ity_V128); in dis_CVTDQ2PD_256() local
23900 assign( sV, getXMMReg(rE) ); in dis_CVTDQ2PD_256()
23905 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_CVTDQ2PD_256()
23911 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_CVTDQ2PD_256()
26258 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__VEX() local
26267 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__VEX()
26273 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26279 putYMMRegLoAndZU( rG, mkexpr( math_HADDPS_128 ( dV, sV, isAdd ) ) ); in dis_ESC_0F__VEX()
26286 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F__VEX() local
26297 assign( sV, getYMMReg(rE) ); in dis_ESC_0F__VEX()
26303 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26310 breakupV256toV128s( sV, &s1, &s0 ); in dis_ESC_0F__VEX()
26320 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__VEX() local
26329 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__VEX()
26335 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26341 putYMMRegLoAndZU( rG, mkexpr( math_HADDPD_128 ( dV, sV, isAdd ) ) ); in dis_ESC_0F__VEX()
26348 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F__VEX() local
26359 assign( sV, getYMMReg(rE) ); in dis_ESC_0F__VEX()
26365 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26372 breakupV256toV128s( sV, &s1, &s0 ); in dis_ESC_0F__VEX()
28126 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__VEX() local
28147 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__VEX()
28153 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28160 breakupV128to64s( sV, &sHi, &sLo ); in dis_ESC_0F38__VEX()
28176 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F38__VEX() local
28198 assign( sV, getYMMReg(rE) ); in dis_ESC_0F38__VEX()
28204 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28211 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F38__VEX()
28234 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__VEX() local
28246 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__VEX()
28252 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28259 breakupV128to64s( sV, &sHi, &sLo ); in dis_ESC_0F38__VEX()
28273 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F38__VEX() local
28285 assign( sV, getYMMReg(rE) ); in dis_ESC_0F38__VEX()
28291 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28298 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F38__VEX()
30369 static IRTemp math_VPERMILPS_128 ( IRTemp sV, UInt imm8 ) in math_VPERMILPS_128() argument
30374 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_VPERMILPS_128()
30418 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30426 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30433 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30438 breakupV256to64s(sV, &s[3], &s[2], &s[1], &s[0]); in dis_ESC_0F3A__VEX()
30458 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30462 assign(sV, getXMMReg(rV)); in dis_ESC_0F3A__VEX()
30483 breakupV128to32s( sV, &s[3], &s[2], &s[1], &s[0] ); in dis_ESC_0F3A__VEX()
30498 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30502 assign(sV, getYMMReg(rV)); in dis_ESC_0F3A__VEX()
30523 breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4], in dis_ESC_0F3A__VEX()
30540 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30547 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30554 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30558 breakupV256toV128s( sV, &sVhi, &sVlo ); in dis_ESC_0F3A__VEX()
30570 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30577 assign(sV, getXMMReg(rE)); in dis_ESC_0F3A__VEX()
30584 assign(sV, loadLE(Ity_V128, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30587 putYMMRegLoAndZU(rG, mkexpr ( math_VPERMILPS_128 ( sV, imm8 ) ) ); in dis_ESC_0F3A__VEX()
30598 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30605 assign(sV, getXMMReg(rE)); in dis_ESC_0F3A__VEX()
30612 assign(sV, loadLE(Ity_V128, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30617 assign(s1, unop(Iop_V128HIto64, mkexpr(sV))); in dis_ESC_0F3A__VEX()
30618 assign(s0, unop(Iop_V128to64, mkexpr(sV))); in dis_ESC_0F3A__VEX()
30631 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30638 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30645 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30650 breakupV256to64s(sV, &s3, &s2, &s1, &s0); in dis_ESC_0F3A__VEX()
30972 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30974 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
30992 mkexpr( math_BLENDPS_256( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
31003 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31005 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
31023 mkexpr( math_BLENDPS_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
31037 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
31039 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
31057 mkexpr( math_BLENDPD_256( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
31068 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31070 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
31088 mkexpr( math_BLENDPD_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
31102 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31104 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
31122 mkexpr( math_PBLENDW_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
31133 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
31137 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
31154 breakupV256toV128s( sV, &sVhi, &sVlo ); in dis_ESC_0F3A__VEX()
31171 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31179 assign( sV, getXMMReg(rE) ); in dis_ESC_0F3A__VEX()
31186 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F3A__VEX()
31193 IRTemp res = math_PALIGNR_XMM( sV, dV, imm8 ); in dis_ESC_0F3A__VEX()
31204 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
31214 assign( sV, getYMMReg(rE) ); in dis_ESC_0F3A__VEX()
31221 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F3A__VEX()
31229 breakupV256toV128s( sV, &sHi, &sLo ); in dis_ESC_0F3A__VEX()
31749 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31759 assign( sV, getXMMReg(rE) ); in dis_ESC_0F3A__VEX()
31766 assign( sV, loadLE( Ity_V128, mkexpr(addr) ) ); in dis_ESC_0F3A__VEX()
31773 putYMMRegLoAndZU( rG, mkexpr( math_PCLMULQDQ(dV, sV, imm8) ) ); in dis_ESC_0F3A__VEX()