Lines Matching refs:sV

9824 static IRTemp math_PALIGNR_XMM ( IRTemp sV, IRTemp dV, UInt imm8 )   in math_PALIGNR_XMM()  argument
9836 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PALIGNR_XMM()
9837 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in math_PALIGNR_XMM()
10144 IRTemp sV = newTemp(Ity_V128); in dis_PSHUFD_32x4() local
10149 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_PSHUFD_32x4()
10158 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PSHUFD_32x4()
10168 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_PSHUFD_32x4()
10189 IRTemp sV = newTemp(Ity_V256); in dis_PSHUFD_32x8() local
10195 assign( sV, getYMMReg(rE) ); in dis_PSHUFD_32x8()
10202 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PSHUFD_32x8()
10210 breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4], in dis_PSHUFD_32x8()
10225 static IRTemp math_PSRLDQ ( IRTemp sV, Int imm ) in math_PSRLDQ() argument
10239 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSRLDQ()
10240 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSRLDQ()
10272 static IRTemp math_PSLLDQ ( IRTemp sV, Int imm ) in math_PSLLDQ() argument
10286 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSLLDQ()
10287 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSLLDQ()
10896 static IRTemp math_UNPCKxPS_128 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPS_128() argument
10901 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_UNPCKxPS_128()
10911 static IRTemp math_UNPCKxPD_128 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPD_128() argument
10919 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_UNPCKxPD_128()
10920 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in math_UNPCKxPD_128()
10932 static IRTemp math_UNPCKxPD_256 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPD_256() argument
10937 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in math_UNPCKxPD_256()
10954 static IRTemp math_UNPCKxPS_256 ( IRTemp sV, IRTemp dV, Bool xIsH ) in math_UNPCKxPS_256() argument
10958 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_UNPCKxPS_256()
10968 static IRTemp math_SHUFPS_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPS_128() argument
10975 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_SHUFPS_128()
10992 static IRTemp math_SHUFPS_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPS_256() argument
10996 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_SHUFPS_256()
11006 static IRTemp math_SHUFPD_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPD_128() argument
11015 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_SHUFPD_128()
11016 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in math_SHUFPD_128()
11031 static IRTemp math_SHUFPD_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_SHUFPD_256() argument
11035 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_SHUFPD_256()
11045 static IRTemp math_BLENDPD_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPD_128() argument
11061 binop( Iop_AndV128, mkexpr(sV), in math_BLENDPD_128()
11069 static IRTemp math_BLENDPD_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPD_256() argument
11073 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_BLENDPD_256()
11083 static IRTemp math_BLENDPS_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPS_128() argument
11094 binop( Iop_AndV128, mkexpr(sV), in math_BLENDPS_128()
11102 static IRTemp math_BLENDPS_256 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_BLENDPS_256() argument
11106 breakupV256toV128s( sV, &sVhi, &sVlo ); in math_BLENDPS_256()
11116 static IRTemp math_PBLENDW_128 ( IRTemp sV, IRTemp dV, UInt imm8 ) in math_PBLENDW_128() argument
11131 binop( Iop_AndV128, mkexpr(sV), in math_PBLENDW_128()
11139 static IRTemp math_PMULUDQ_128 ( IRTemp sV, IRTemp dV ) in math_PMULUDQ_128() argument
11146 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_PMULUDQ_128()
11155 static IRTemp math_PMULUDQ_256 ( IRTemp sV, IRTemp dV ) in math_PMULUDQ_256() argument
11162 breakupV256toV128s( sV, &sHi, &sLo); in math_PMULUDQ_256()
11171 static IRTemp math_PMULDQ_128 ( IRTemp dV, IRTemp sV ) in math_PMULDQ_128() argument
11178 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_PMULDQ_128()
11187 static IRTemp math_PMULDQ_256 ( IRTemp sV, IRTemp dV ) in math_PMULDQ_256() argument
11194 breakupV256toV128s( sV, &sHi, &sLo); in math_PMULDQ_256()
11203 static IRTemp math_PMADDWD_128 ( IRTemp dV, IRTemp sV ) in math_PMADDWD_128() argument
11209 breakupV128to64s( sV, &sVhi, &sVlo ); in math_PMADDWD_128()
11225 static IRTemp math_PMADDWD_256 ( IRTemp dV, IRTemp sV ) in math_PMADDWD_256() argument
11230 breakupV256toV128s( sV, &sHi, &sLo); in math_PMADDWD_256()
11239 static IRTemp math_ADDSUBPD_128 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPD_128() argument
11248 assign( addV, triop(Iop_Add64Fx2, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_128()
11249 assign( subV, triop(Iop_Sub64Fx2, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_128()
11260 static IRTemp math_ADDSUBPD_256 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPD_256() argument
11269 assign( addV, triop(Iop_Add64Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_256()
11270 assign( subV, triop(Iop_Sub64Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPD_256()
11281 static IRTemp math_ADDSUBPS_128 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPS_128() argument
11290 assign( addV, triop(Iop_Add32Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_128()
11291 assign( subV, triop(Iop_Sub32Fx4, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_128()
11302 static IRTemp math_ADDSUBPS_256 ( IRTemp dV, IRTemp sV ) in math_ADDSUBPS_256() argument
11313 assign( addV, triop(Iop_Add32Fx8, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_256()
11314 assign( subV, triop(Iop_Sub32Fx8, mkexpr(rm), mkexpr(dV), mkexpr(sV)) ); in math_ADDSUBPS_256()
11335 IRTemp sVmut, dVmut, sVcon, sV, dV, s3, s2, s1, s0; in dis_PSHUFxW_128() local
11337 sV = newTemp(Ity_V128); in dis_PSHUFxW_128()
11344 assign( sV, getXMMReg(rE) ); in dis_PSHUFxW_128()
11352 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PSHUFxW_128()
11362 assign( sVmut, unop(xIsH ? Iop_V128HIto64 : Iop_V128to64, mkexpr(sV)) ); in dis_PSHUFxW_128()
11363 assign( sVcon, unop(xIsH ? Iop_V128to64 : Iop_V128HIto64, mkexpr(sV)) ); in dis_PSHUFxW_128()
11390 IRTemp sV, s[8], sV64[4], dVhi, dVlo; in dis_PSHUFxW_256() local
11393 sV = newTemp(Ity_V256); in dis_PSHUFxW_256()
11398 assign( sV, getYMMReg(rE) ); in dis_PSHUFxW_256()
11405 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PSHUFxW_256()
11412 breakupV256to64s( sV, &sV64[3], &sV64[2], &sV64[1], &sV64[0] ); in dis_PSHUFxW_256()
11434 IRTemp sV = newTemp(Ity_V128); in dis_PEXTRW_128_EregOnly_toG() local
11440 assign(sV, getXMMReg(rE)); in dis_PEXTRW_128_EregOnly_toG()
11450 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_PEXTRW_128_EregOnly_toG()
12104 static IRTemp math_PSADBW_128 ( IRTemp dV, IRTemp sV ) in math_PSADBW_128() argument
12109 breakupV128to64s( sV, &s1, &s0 ); in math_PSADBW_128()
12127 static IRTemp math_PSADBW_256 ( IRTemp dV, IRTemp sV ) in math_PSADBW_256() argument
12132 breakupV256toV128s( sV, &sHi, &sLo); in math_PSADBW_256()
12594 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
12601 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
12607 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
12612 IRTemp res = math_UNPCKxPS_128( sV, dV, hi ); in dis_ESC_0F__SSE2()
12622 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
12629 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
12635 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
12640 IRTemp res = math_UNPCKxPD_128( sV, dV, hi ); in dis_ESC_0F__SSE2()
13811 IRTemp sV, dV, s3, s2, s1, s0; in dis_ESC_0F__SSE2() local
13813 sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2()
13818 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F__SSE2()
13827 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
13834 breakup64to16s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F__SSE2()
13919 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
13920 assign( sV, getXMMReg(reg) ); in dis_ESC_0F__SSE2()
13921 putXMMReg(reg, mkexpr(math_PSRLDQ( sV, imm ))); in dis_ESC_0F__SSE2()
13934 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
13935 assign( sV, getXMMReg(reg) ); in dis_ESC_0F__SSE2()
13936 putXMMReg(reg, mkexpr(math_PSLLDQ( sV, imm ))); in dis_ESC_0F__SSE2()
14310 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2() local
14313 assign(sV, getMMXReg(eregLO3ofRM(modrm))); in dis_ESC_0F__SSE2()
14314 breakup64to16s( sV, &t3, &t2, &t1, &t0 ); in dis_ESC_0F__SSE2()
14356 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14363 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
14369 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14374 IRTemp res = math_SHUFPS_128( sV, dV, imm8 ); in dis_ESC_0F__SSE2()
14381 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14388 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F__SSE2()
14396 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14404 IRTemp res = math_SHUFPD_128( sV, dV, select ); in dis_ESC_0F__SSE2()
14876 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14883 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
14888 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14892 putXMMReg( rG, mkexpr(math_PMULUDQ_128( sV, dV )) ); in dis_ESC_0F__SSE2()
14899 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F__SSE2() local
14909 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F__SSE2()
14915 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14922 assign( t1, unop(Iop_64to32, mkexpr(sV)) ); in dis_ESC_0F__SSE2()
14933 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14939 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
14944 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14949 putXMMReg( rG, mkexpr(math_PMADDWD_128(dV, sV)) ); in dis_ESC_0F__SSE2()
14966 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__SSE2() local
14972 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__SSE2()
14977 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__SSE2()
14982 putXMMReg( rG, mkexpr( math_PSADBW_128 ( dV, sV ) ) ); in dis_ESC_0F__SSE2()
15101 IRTemp sV = newTemp(Ity_V128); in dis_MOVDDUP_128() local
15107 assign( sV, getXMMReg(rE) ); in dis_MOVDDUP_128()
15111 assign ( d0, unop(Iop_V128to64, mkexpr(sV)) ); in dis_MOVDDUP_128()
15163 IRTemp sV = newTemp(Ity_V128); in dis_MOVSxDUP_128() local
15170 assign( sV, getXMMReg(rE) ); in dis_MOVSxDUP_128()
15178 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_MOVSxDUP_128()
15183 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_MOVSxDUP_128()
15197 IRTemp sV = newTemp(Ity_V256); in dis_MOVSxDUP_256() local
15204 assign( sV, getYMMReg(rE) ); in dis_MOVSxDUP_256()
15210 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_MOVSxDUP_256()
15215 breakupV256to32s( sV, &s7, &s6, &s5, &s4, &s3, &s2, &s1, &s0 ); in dis_MOVSxDUP_256()
15224 static IRTemp math_HADDPS_128 ( IRTemp dV, IRTemp sV, Bool isAdd ) in math_HADDPS_128() argument
15232 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_HADDPS_128()
15246 static IRTemp math_HADDPD_128 ( IRTemp dV, IRTemp sV, Bool isAdd ) in math_HADDPD_128() argument
15254 breakupV128to64s( sV, &s1, &s0 ); in math_HADDPD_128()
15456 IRTemp math_PSHUFB_XMM ( IRTemp dV/*data to perm*/, IRTemp sV/*perm*/ ) in math_PSHUFB_XMM() argument
15477 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in math_PSHUFB_XMM()
15478 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in math_PSHUFB_XMM()
15547 IRTemp math_PSHUFB_YMM ( IRTemp dV/*data to perm*/, IRTemp sV/*perm*/ ) in math_PSHUFB_YMM() argument
15552 breakupV256toV128s( sV, &sHi, &sLo); in math_PSHUFB_YMM()
15571 IRTemp sV = newTemp(Ity_V128); in dis_PHADD_128() local
15599 assign( sV, getXMMReg(rE) ); in dis_PHADD_128()
15607 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PHADD_128()
15615 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_PHADD_128()
15616 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_PHADD_128()
15645 IRTemp sV = newTemp(Ity_V256); in dis_PHADD_256() local
15671 assign( sV, getYMMReg(rE) ); in dis_PHADD_256()
15676 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_PHADD_256()
15682 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_PHADD_256()
15708 static IRTemp math_PMADDUBSW_128 ( IRTemp dV, IRTemp sV ) in math_PMADDUBSW_128() argument
15715 assign( sVoddsSX, binop(Iop_SarN16x8, mkexpr(sV), mkU8(8)) ); in math_PMADDUBSW_128()
15717 binop(Iop_ShlN16x8, mkexpr(sV), mkU8(8)), in math_PMADDUBSW_128()
15735 IRTemp math_PMADDUBSW_256 ( IRTemp dV, IRTemp sV ) in math_PMADDUBSW_256() argument
15740 breakupV256toV128s( sV, &sHi, &sLo); in math_PMADDUBSW_256()
15771 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
15778 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
15785 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15791 IRTemp res = math_PSHUFB_XMM( dV, sV ); in dis_ESC_0F38__SupSSE3()
15797 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
15805 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
15811 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15825 binop(Iop_And64, mkexpr(sV), mkU64(0x0707070707070707ULL)) in dis_ESC_0F38__SupSSE3()
15828 unop(Iop_Not64, binop(Iop_SarN8x8, mkexpr(sV), mkU8(7))) in dis_ESC_0F38__SupSSE3()
15876 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
15899 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
15905 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15914 binop(opCatE,mkexpr(sV),mkexpr(dV)), in dis_ESC_0F38__SupSSE3()
15915 binop(opCatO,mkexpr(sV),mkexpr(dV)) in dis_ESC_0F38__SupSSE3()
15927 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
15936 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__SupSSE3()
15942 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15947 putXMMReg( rG, mkexpr( math_PMADDUBSW_128( dV, sV ) ) ); in dis_ESC_0F38__SupSSE3()
15953 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
15965 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
15971 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
15979 binop(Iop_SarN16x4, mkexpr(sV), mkU8(8)) ); in dis_ESC_0F38__SupSSE3()
15982 binop(Iop_ShlN16x4, mkexpr(sV), mkU8(8)), in dis_ESC_0F38__SupSSE3()
16010 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16030 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16037 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16045 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16046 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16061 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16078 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16084 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16092 dis_PSIGN_helper( mkexpr(sV), mkexpr(dV), laneszB ) in dis_ESC_0F38__SupSSE3()
16103 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16114 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16121 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16129 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16130 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_ESC_0F38__SupSSE3()
16144 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16152 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16158 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16166 dis_PMULHRSW_helper( mkexpr(sV), mkexpr(dV) ) in dis_ESC_0F38__SupSSE3()
16180 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SupSSE3() local
16193 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F38__SupSSE3()
16200 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16207 mkexpr(math_PABS_XMM(sV, laneszB)) ); in dis_ESC_0F38__SupSSE3()
16214 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F38__SupSSE3() local
16229 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F38__SupSSE3()
16235 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F38__SupSSE3()
16242 mkexpr(math_PABS_MMX( sV, laneszB )) ); in dis_ESC_0F38__SupSSE3()
16291 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__SupSSE3() local
16298 assign( sV, getXMMReg(eregOfRexRM(pfx,modrm)) ); in dis_ESC_0F3A__SupSSE3()
16307 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F3A__SupSSE3()
16315 IRTemp res = math_PALIGNR_XMM( sV, dV, d64 ); in dis_ESC_0F3A__SupSSE3()
16321 IRTemp sV = newTemp(Ity_I64); in dis_ESC_0F3A__SupSSE3() local
16330 assign( sV, getMMXReg(eregLO3ofRM(modrm)) ); in dis_ESC_0F3A__SupSSE3()
16338 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in dis_ESC_0F3A__SupSSE3()
16347 assign( res, mkexpr(sV) ); in dis_ESC_0F3A__SupSSE3()
16352 binop(Iop_Shr64, mkexpr(sV), mkU8(8*d64)), in dis_ESC_0F3A__SupSSE3()
17605 IRTemp sV = newTemp(Ity_V128); in dis_PHMINPOSUW_128() local
17612 assign( sV, getXMMReg(rE) ); in dis_PHMINPOSUW_128()
17619 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_PHMINPOSUW_128()
17623 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in dis_PHMINPOSUW_128()
17624 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in dis_PHMINPOSUW_128()
17944 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__SSE4() local
17951 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__SSE4()
17956 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__SSE4()
17961 putXMMReg( rG, mkexpr(math_PMULDQ_128( dV, sV )) ); in dis_ESC_0F38__SSE4()
19080 static IRTemp math_PCLMULQDQ( IRTemp dV, IRTemp sV, UInt imm8 ) in math_PCLMULQDQ() argument
19087 mkexpr(sV))); in math_PCLMULQDQ()
22871 IRTemp sV = isYMM ? newTemp(Ity_V256) : newTemp(Ity_V128); in dis_AVX_var_shiftV_byE() local
22897 assign( sV, isYMM ? getYMMReg(rV) : getXMMReg(rV) ); in dis_AVX_var_shiftV_byE()
22916 breakupV256to32s( sV, &sVs[7], &sVs[6], &sVs[5], &sVs[4], in dis_AVX_var_shiftV_byE()
22921 breakupV128to32s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
22927 breakupV256to64s( sV, &sVs[3], &sVs[2], &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
22930 breakupV128to64s( sV, &sVs[1], &sVs[0] ); in dis_AVX_var_shiftV_byE()
23715 IRTemp sV = newTemp(Ity_V128); in dis_CVTDQ2PD_256() local
23719 assign( sV, getXMMReg(rE) ); in dis_CVTDQ2PD_256()
23724 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_CVTDQ2PD_256()
23730 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in dis_CVTDQ2PD_256()
26077 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__VEX() local
26086 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__VEX()
26092 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26098 putYMMRegLoAndZU( rG, mkexpr( math_HADDPS_128 ( dV, sV, isAdd ) ) ); in dis_ESC_0F__VEX()
26105 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F__VEX() local
26116 assign( sV, getYMMReg(rE) ); in dis_ESC_0F__VEX()
26122 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26129 breakupV256toV128s( sV, &s1, &s0 ); in dis_ESC_0F__VEX()
26139 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F__VEX() local
26148 assign( sV, getXMMReg(rE) ); in dis_ESC_0F__VEX()
26154 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26160 putYMMRegLoAndZU( rG, mkexpr( math_HADDPD_128 ( dV, sV, isAdd ) ) ); in dis_ESC_0F__VEX()
26167 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F__VEX() local
26178 assign( sV, getYMMReg(rE) ); in dis_ESC_0F__VEX()
26184 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F__VEX()
26191 breakupV256toV128s( sV, &s1, &s0 ); in dis_ESC_0F__VEX()
27985 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__VEX() local
28006 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__VEX()
28012 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28019 breakupV128to64s( sV, &sHi, &sLo ); in dis_ESC_0F38__VEX()
28035 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F38__VEX() local
28057 assign( sV, getYMMReg(rE) ); in dis_ESC_0F38__VEX()
28063 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28070 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F38__VEX()
28093 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F38__VEX() local
28105 assign( sV, getXMMReg(rE) ); in dis_ESC_0F38__VEX()
28111 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28118 breakupV128to64s( sV, &sHi, &sLo ); in dis_ESC_0F38__VEX()
28132 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F38__VEX() local
28144 assign( sV, getYMMReg(rE) ); in dis_ESC_0F38__VEX()
28150 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F38__VEX()
28157 breakupV256to64s( sV, &s3, &s2, &s1, &s0 ); in dis_ESC_0F38__VEX()
30096 static IRTemp math_VPERMILPS_128 ( IRTemp sV, UInt imm8 ) in math_VPERMILPS_128() argument
30101 breakupV128to32s( sV, &s3, &s2, &s1, &s0 ); in math_VPERMILPS_128()
30145 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30153 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30160 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30165 breakupV256to64s(sV, &s[3], &s[2], &s[1], &s[0]); in dis_ESC_0F3A__VEX()
30185 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30189 assign(sV, getXMMReg(rV)); in dis_ESC_0F3A__VEX()
30210 breakupV128to32s( sV, &s[3], &s[2], &s[1], &s[0] ); in dis_ESC_0F3A__VEX()
30225 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30229 assign(sV, getYMMReg(rV)); in dis_ESC_0F3A__VEX()
30250 breakupV256to32s( sV, &s[7], &s[6], &s[5], &s[4], in dis_ESC_0F3A__VEX()
30267 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30274 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30281 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30285 breakupV256toV128s( sV, &sVhi, &sVlo ); in dis_ESC_0F3A__VEX()
30297 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30304 assign(sV, getXMMReg(rE)); in dis_ESC_0F3A__VEX()
30311 assign(sV, loadLE(Ity_V128, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30314 putYMMRegLoAndZU(rG, mkexpr ( math_VPERMILPS_128 ( sV, imm8 ) ) ); in dis_ESC_0F3A__VEX()
30325 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30332 assign(sV, getXMMReg(rE)); in dis_ESC_0F3A__VEX()
30339 assign(sV, loadLE(Ity_V128, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30344 assign(s1, unop(Iop_V128HIto64, mkexpr(sV))); in dis_ESC_0F3A__VEX()
30345 assign(s0, unop(Iop_V128to64, mkexpr(sV))); in dis_ESC_0F3A__VEX()
30358 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30365 assign(sV, getYMMReg(rE)); in dis_ESC_0F3A__VEX()
30372 assign(sV, loadLE(Ity_V256, mkexpr(addr))); in dis_ESC_0F3A__VEX()
30377 breakupV256to64s(sV, &s3, &s2, &s1, &s0); in dis_ESC_0F3A__VEX()
30699 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30701 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
30719 mkexpr( math_BLENDPS_256( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
30730 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30732 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
30750 mkexpr( math_BLENDPS_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
30764 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30766 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
30784 mkexpr( math_BLENDPD_256( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
30795 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30797 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
30815 mkexpr( math_BLENDPD_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
30829 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30831 assign ( sV, getXMMReg(rV) ); in dis_ESC_0F3A__VEX()
30849 mkexpr( math_PBLENDW_128( sE, sV, imm8) ) ); in dis_ESC_0F3A__VEX()
30860 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30864 assign ( sV, getYMMReg(rV) ); in dis_ESC_0F3A__VEX()
30881 breakupV256toV128s( sV, &sVhi, &sVlo ); in dis_ESC_0F3A__VEX()
30898 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
30906 assign( sV, getXMMReg(rE) ); in dis_ESC_0F3A__VEX()
30913 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in dis_ESC_0F3A__VEX()
30920 IRTemp res = math_PALIGNR_XMM( sV, dV, imm8 ); in dis_ESC_0F3A__VEX()
30931 IRTemp sV = newTemp(Ity_V256); in dis_ESC_0F3A__VEX() local
30941 assign( sV, getYMMReg(rE) ); in dis_ESC_0F3A__VEX()
30948 assign( sV, loadLE(Ity_V256, mkexpr(addr)) ); in dis_ESC_0F3A__VEX()
30956 breakupV256toV128s( sV, &sHi, &sLo ); in dis_ESC_0F3A__VEX()
31476 IRTemp sV = newTemp(Ity_V128); in dis_ESC_0F3A__VEX() local
31486 assign( sV, getXMMReg(rE) ); in dis_ESC_0F3A__VEX()
31493 assign( sV, loadLE( Ity_V128, mkexpr(addr) ) ); in dis_ESC_0F3A__VEX()
31500 putYMMRegLoAndZU( rG, mkexpr( math_PCLMULQDQ(dV, sV, imm8) ) ); in dis_ESC_0F3A__VEX()