Lines Matching refs:rG
9845 UInt rG = gregOfRexRM(pfx,modrm);
9852 isAvx ? "v" : "", nameXMMReg(rE), nameXMMReg(rG));
9860 isAvx ? "v" : "", dis_buf, nameXMMReg(rG));
9863 putXMMRegLane64F( rG, 1, unop(Iop_F32toF64, mkexpr(f32hi)) );
9864 putXMMRegLane64F( rG, 0, unop(Iop_F32toF64, mkexpr(f32lo)) );
9866 putYMMRegLane128( rG, 1, mkV128(0));
9882 UInt rG = gregOfRexRM(pfx,modrm);
9890 DIP("vcvtps2pd %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
9901 DIP("vcvtps2pd %s,%s\n", dis_buf, nameYMMReg(rG));
9904 putYMMRegLane64F( rG, 3, unop(Iop_F32toF64, mkexpr(f32_3)) );
9905 putYMMRegLane64F( rG, 2, unop(Iop_F32toF64, mkexpr(f32_2)) );
9906 putYMMRegLane64F( rG, 1, unop(Iop_F32toF64, mkexpr(f32_1)) );
9907 putYMMRegLane64F( rG, 0, unop(Iop_F32toF64, mkexpr(f32_0)) );
9919 UInt rG = gregOfRexRM(pfx,modrm);
9927 nameXMMReg(rE), nameXMMReg(rG));
9933 dis_buf, nameXMMReg(rG) );
9945 putXMMRegLane32( rG, 3, mkU32(0) );
9946 putXMMRegLane32( rG, 2, mkU32(0) );
9947 putXMMRegLane32F( rG, 1, CVT(t1) );
9948 putXMMRegLane32F( rG, 0, CVT(t0) );
9951 putYMMRegLane128( rG, 1, mkV128(0) );
9966 UInt rG = gregOfRexRM(pfx,modrm);
9974 isAvx ? "v" : "", r2zero ? "t" : "", nameXMMReg(rE), nameXMMReg(rG));
9980 isAvx ? "v" : "", r2zero ? "t" : "", dis_buf, nameXMMReg(rG) );
9995 putXMMRegLane32( rG, 3, CVT(t3) );
9996 putXMMRegLane32( rG, 2, CVT(t2) );
9997 putXMMRegLane32( rG, 1, CVT(t1) );
9998 putXMMRegLane32( rG, 0, CVT(t0) );
10001 putYMMRegLane128( rG, 1, mkV128(0) );
10016 UInt rG = gregOfRexRM(pfx,modrm);
10024 r2zero ? "t" : "", nameYMMReg(rE), nameYMMReg(rG));
10030 r2zero ? "t" : "", dis_buf, nameYMMReg(rG) );
10045 putYMMRegLane32( rG, 7, CVT(t7) );
10046 putYMMRegLane32( rG, 6, CVT(t6) );
10047 putYMMRegLane32( rG, 5, CVT(t5) );
10048 putYMMRegLane32( rG, 4, CVT(t4) );
10049 putYMMRegLane32( rG, 3, CVT(t3) );
10050 putYMMRegLane32( rG, 2, CVT(t2) );
10051 putYMMRegLane32( rG, 1, CVT(t1) );
10052 putYMMRegLane32( rG, 0, CVT(t0) );
10068 UInt rG = gregOfRexRM(pfx,modrm);
10076 isAvx ? "v" : "", r2zero ? "t" : "", nameXMMReg(rE), nameXMMReg(rG));
10082 isAvx ? "v" : "", r2zero ? "t" : "", dis_buf, nameXMMReg(rG) );
10102 putXMMRegLane32( rG, 3, mkU32(0) );
10103 putXMMRegLane32( rG, 2, mkU32(0) );
10104 putXMMRegLane32( rG, 1, CVT(t1) );
10105 putXMMRegLane32( rG, 0, CVT(t0) );
10108 putYMMRegLane128( rG, 1, mkV128(0) );
10123 UInt rG = gregOfRexRM(pfx,modrm);
10131 r2zero ? "t" : "", nameYMMReg(rE), nameXMMReg(rG));
10137 r2zero ? "t" : "", dis_buf, nameXMMReg(rG) );
10157 putXMMRegLane32( rG, 3, CVT(t3) );
10158 putXMMRegLane32( rG, 2, CVT(t2) );
10159 putXMMRegLane32( rG, 1, CVT(t1) );
10160 putXMMRegLane32( rG, 0, CVT(t0) );
10162 putYMMRegLane128( rG, 1, mkV128(0) );
10177 UInt rG = gregOfRexRM(pfx,modrm);
10185 isAvx ? "v" : "", nameXMMReg(rE), nameXMMReg(rG));
10191 isAvx ? "v" : "", dis_buf, nameXMMReg(rG) );
10205 putXMMRegLane32F( rG, 3, CVT(t3) );
10206 putXMMRegLane32F( rG, 2, CVT(t2) );
10207 putXMMRegLane32F( rG, 1, CVT(t1) );
10208 putXMMRegLane32F( rG, 0, CVT(t0) );
10211 putYMMRegLane128( rG, 1, mkV128(0) );
10225 UInt rG = gregOfRexRM(pfx,modrm);
10232 DIP("vcvtdq2ps %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
10237 DIP("vcvtdq2ps %s,%s\n", dis_buf, nameYMMReg(rG) );
10255 putYMMRegLane32F( rG, 7, CVT(t7) );
10256 putYMMRegLane32F( rG, 6, CVT(t6) );
10257 putYMMRegLane32F( rG, 5, CVT(t5) );
10258 putYMMRegLane32F( rG, 4, CVT(t4) );
10259 putYMMRegLane32F( rG, 3, CVT(t3) );
10260 putYMMRegLane32F( rG, 2, CVT(t2) );
10261 putYMMRegLane32F( rG, 1, CVT(t1) );
10262 putYMMRegLane32F( rG, 0, CVT(t0) );
10276 UInt rG = gregOfRexRM(pfx,modrm);
10286 putIReg32(rG, unop(Iop_64to32,mkexpr(t5)));
10288 nameIReg32(rG));
10680 UInt rG = gregOfRexRM(pfx,modrm);
10696 imm8, nameXMMReg(rE), nameXMMReg(rG));
10704 imm8, dis_buf, nameXMMReg(rG));
10722 (isAvx ? putYMMRegLoAndZU : putXMMReg)(rG, mkexpr(dV));
10732 UInt rG = gregOfRexRM(pfx,modrm);
10743 (Int)imm8, nameXMMReg(rE), nameIReg32(rG));
10761 putIReg32(rG, unop(Iop_16Uto32, mkexpr(d16)));
10774 UInt rG = gregOfRexRM(pfx,modrm);
10780 DIP("%scvtdq2pd %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG));
10785 DIP("%scvtdq2pd %s,%s\n", mbV, dis_buf, nameXMMReg(rG) );
10788 rG, 0,
10792 rG, 1,
10796 putYMMRegLane128(rG, 1, mkV128(0));
10946 UInt rG = gregOfRexRM(pfx,modrm);
10950 assign( regD, getXMMReg( rG ));
10975 nameXMMReg(rE), nameXMMReg(rG) );
10984 UInt rG = gregOfRexRM(pfx,modrm);
11003 putIReg32( rG, binop(Iop_Or32,
11007 nameXMMReg(rE), nameIReg32(rG));
11015 UInt rG = gregOfRexRM(pfx,modrm);
11050 putIReg32( rG, binop(Iop_Or32,
11057 DIP("vmovmskps %s,%s\n", nameYMMReg(rE), nameIReg32(rG));
11066 UInt rG = gregOfRexRM(pfx,modrm);
11077 putIReg32( rG, binop(Iop_Or32, mkexpr(t0), mkexpr(t1) ) );
11079 nameXMMReg(rE), nameIReg32(rG));
11087 UInt rG = gregOfRexRM(pfx,modrm);
11106 putIReg32( rG, binop(Iop_Or32,
11109 DIP("vmovmskps %s,%s\n", nameYMMReg(rE), nameIReg32(rG));
11392 UInt rG = gregOfRexRM(pfx,modrm);
11393 assign( dV, getXMMReg(rG) );
11399 nameXMMReg(rE), nameXMMReg(rG));
11405 dis_buf, nameXMMReg(rG));
11408 putXMMReg( rG, mkexpr(res) );
11420 UInt rG = gregOfRexRM(pfx,modrm);
11421 assign( dV, getXMMReg(rG) );
11427 nameXMMReg(rE), nameXMMReg(rG));
11433 dis_buf, nameXMMReg(rG));
11436 putXMMReg( rG, mkexpr(res) );
13202 UInt rG = gregOfRexRM(pfx,modrm);
13209 (Int)lane, nameIReg16(rE), nameXMMReg(rG));
13217 (Int)lane, dis_buf, nameXMMReg(rG));
13220 assign(src_vec, getXMMReg(rG));
13222 putXMMReg(rG, mkexpr(res_vec));
13283 UInt rG = gregOfRexRM(pfx,modrm);
13284 assign( dV, getXMMReg(rG) );
13290 DIP("shufps $%d,%s,%s\n", imm8, nameXMMReg(rE), nameXMMReg(rG));
13296 DIP("shufps $%d,%s,%s\n", imm8, dis_buf, nameXMMReg(rG));
13807 UInt rG = gregOfRexRM(pfx,modrm);
13808 assign( dV, getXMMReg(rG) );
13813 DIP("pmuludq %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
13818 DIP("pmuludq %s,%s\n", dis_buf, nameXMMReg(rG));
13820 putXMMReg( rG, mkexpr(math_PMULUDQ_128( sV, dV )) );
13864 UInt rG = gregOfRexRM(pfx,modrm);
13869 DIP("pmaddwd %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
13874 DIP("pmaddwd %s,%s\n", dis_buf, nameXMMReg(rG));
13876 assign( dV, getXMMReg(rG) );
13877 putXMMReg( rG, mkexpr(math_PMADDWD_128(dV, sV)) );
13897 UInt rG = gregOfRexRM(pfx,modrm);
13902 DIP("psadbw %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
13907 DIP("psadbw %s,%s\n", dis_buf, nameXMMReg(rG));
13909 assign( dV, getXMMReg(rG) );
13910 putXMMReg( rG, mkexpr( math_PSADBW_128 ( dV, sV ) ) );
14032 UInt rG = gregOfRexRM(pfx,modrm);
14037 isAvx ? "v" : "", nameXMMReg(rE), nameXMMReg(rG));
14044 isAvx ? "v" : "", dis_buf, nameXMMReg(rG));
14048 ( rG, binop(Iop_64HLtoV128,mkexpr(d0),mkexpr(d0)) );
14062 UInt rG = gregOfRexRM(pfx,modrm);
14065 DIP("vmovddup %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
14074 DIP("vmovddup %s,%s\n", dis_buf, nameYMMReg(rG));
14077 putYMMRegLane64( rG, 0, mkexpr(d0) );
14078 putYMMRegLane64( rG, 1, mkexpr(d0) );
14079 putYMMRegLane64( rG, 2, mkexpr(d1) );
14080 putYMMRegLane64( rG, 3, mkexpr(d1) );
14093 UInt rG = gregOfRexRM(pfx,modrm);
14100 isAvx ? "v" : "", isL ? 'l' : 'h', nameXMMReg(rE), nameXMMReg(rG));
14108 isAvx ? "v" : "", isL ? 'l' : 'h', dis_buf, nameXMMReg(rG));
14113 ( rG, isL ? mkV128from32s( s2, s2, s0, s0 )
14127 UInt rG = gregOfRexRM(pfx,modrm);
14134 isL ? 'l' : 'h', nameYMMReg(rE), nameYMMReg(rG));
14140 isL ? 'l' : 'h', dis_buf, nameYMMReg(rG));
14144 putYMMRegLane128( rG, 1, isL ? mkV128from32s( s6, s6, s4, s4 )
14146 putYMMRegLane128( rG, 0, isL ? mkV128from32s( s2, s2, s0, s0 )
14247 UInt rG = gregOfRexRM(pfx,modrm);
14251 DIP("h%sps %s,%s\n", str, nameXMMReg(rE), nameXMMReg(rG));
14256 DIP("h%sps %s,%s\n", str, dis_buf, nameXMMReg(rG));
14260 assign( gV, getXMMReg(rG) );
14261 putXMMReg( rG, mkexpr( math_HADDPS_128 ( gV, eV, isAdd ) ) );
14272 UInt rG = gregOfRexRM(pfx,modrm);
14276 DIP("h%spd %s,%s\n", str, nameXMMReg(rE), nameXMMReg(rG));
14281 DIP("h%spd %s,%s\n", str, dis_buf, nameXMMReg(rG));
14285 assign( gV, getXMMReg(rG) );
14286 putXMMReg( rG, mkexpr( math_HADDPD_128 ( gV, eV, isAdd ) ) );
14297 UInt rG = gregOfRexRM(pfx,modrm);
14301 DIP("addsubpd %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
14306 DIP("addsubpd %s,%s\n", dis_buf, nameXMMReg(rG));
14310 assign( gV, getXMMReg(rG) );
14311 putXMMReg( rG, mkexpr( math_ADDSUBPD_128 ( gV, eV ) ) );
14319 UInt rG = gregOfRexRM(pfx,modrm);
14325 DIP("addsubps %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
14330 DIP("addsubps %s,%s\n", dis_buf, nameXMMReg(rG));
14334 assign( gV, getXMMReg(rG) );
14335 putXMMReg( rG, mkexpr( math_ADDSUBPS_128 ( gV, eV ) ) );
14487 UInt rG = gregOfRexRM(pfx,modrm);
14488 UInt rV = isAvx ? getVexNvvvv(pfx) : rG;
14509 DIP("ph%s %s,%s\n", str, nameXMMReg(rE), nameXMMReg(rG));
14516 DIP("ph%s %s,%s\n", str, dis_buf, nameXMMReg(rG));
14530 ( rG,
14749 UInt rG = gregOfRexRM(pfx,modrm);
14751 assign( dV, getXMMReg(rG) );
14757 DIP("pmaddubsw %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
14763 DIP("pmaddubsw %s,%s\n", dis_buf, nameXMMReg(rG));
14766 putXMMReg( rG, mkexpr( math_PMADDUBSW_128( dV, sV ) ) );
15417 UInt rG = gregOfRexRM(pfx, modrm);
15431 nameXMMReg(rV), nameXMMReg(rG));
15439 name, nameXMMReg(rIS4), dis_buf, nameXMMReg(rV), nameXMMReg(rG));
15445 putYMMRegLoAndZU( rG, mkexpr(res) );
15456 UInt rG = gregOfRexRM(pfx, modrm);
15470 nameYMMReg(rV), nameYMMReg(rG));
15478 name, nameYMMReg(rIS4), dis_buf, nameYMMReg(rV), nameYMMReg(rG));
15484 putYMMReg( rG, mkexpr(res) );
15595 UInt rG = gregOfRexRM(pfx, modrm);
15606 nameXMMReg(rE), nameXMMReg(rG) );
15616 dis_buf, nameXMMReg(rG) );
15619 assign(vecG, getXMMReg(rG));
15648 UInt rG = gregOfRexRM(pfx, modrm);
15658 nameYMMReg(rE), nameYMMReg(rG) );
15665 dis_buf, nameYMMReg(rG) );
15668 assign(vecG, getYMMReg(rG));
15709 UInt rG = gregOfRexRM(pfx, modrm);
15714 DIP( "%spmov%cxbw %s,%s\n", mbV, how, nameXMMReg(rE), nameXMMReg(rG) );
15720 DIP( "%spmov%cxbw %s,%s\n", mbV, how, dis_buf, nameXMMReg(rG) );
15735 (isAvx ? putYMMRegLoAndZU : putXMMReg) ( rG, res );
15751 UInt rG = gregOfRexRM(pfx, modrm);
15757 DIP( "%spmov%cxwd %s,%s\n", mbV, how, nameXMMReg(rE), nameXMMReg(rG) );
15763 DIP( "%spmov%cxwd %s,%s\n", mbV, how, dis_buf, nameXMMReg(rG) );
15789 UInt rG = gregOfRexRM(pfx, modrm);
15795 DIP( "%spmovsxwq %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG) );
15800 DIP( "%spmovsxwq %s,%s\n", mbV, dis_buf, nameXMMReg(rG) );
15804 ( rG, binop( Iop_64HLtoV128,
15822 UInt rG = gregOfRexRM(pfx, modrm);
15828 DIP( "%spmovzxwq %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG) );
15834 DIP( "%spmovzxwq %s,%s\n", mbV, dis_buf, nameXMMReg(rG) );
15841 ( rG, binop( Iop_InterleaveLO16x8,
15861 UInt rG = gregOfRexRM(pfx, modrm);
15871 DIP( "%spmov%cxdq %s,%s\n", mbV, how, nameXMMReg(rE), nameXMMReg(rG) );
15877 DIP( "%spmov%cxdq %s,%s\n", mbV, how, dis_buf, nameXMMReg(rG) );
15890 (isAvx ? putYMMRegLoAndZU : putXMMReg) ( rG, res );
15907 UInt rG = gregOfRexRM(pfx, modrm);
15912 DIP( "%spmov%cxbd %s,%s\n", mbV, how, nameXMMReg(rE), nameXMMReg(rG) );
15918 DIP( "%spmov%cxbd %s,%s\n", mbV, how, dis_buf, nameXMMReg(rG) );
15933 (isAvx ? putYMMRegLoAndZU : putXMMReg) ( rG, res );
15949 UInt rG = gregOfRexRM(pfx, modrm);
15954 DIP( "%spmovsxbq %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG) );
15959 DIP( "%spmovsxbq %s,%s\n", mbV, dis_buf, nameXMMReg(rG) );
15963 ( rG, binop( Iop_64HLtoV128,
15982 UInt rG = gregOfRexRM(pfx, modrm);
15987 DIP( "%spmovzxbq %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG) );
15994 DIP( "%spmovzxbq %s,%s\n", mbV, dis_buf, nameXMMReg(rG) );
16001 ( rG, binop( Iop_InterleaveLO8x16,
16023 UInt rG = gregOfRexRM(pfx,modrm);
16028 DIP("%sphminposuw %s,%s\n", mbV, nameXMMReg(rE), nameXMMReg(rG));
16035 DIP("%sphminposuw %s,%s\n", mbV, dis_buf, nameXMMReg(rG));
16046 (rG, unop(Iop_64UtoV128, mkexpr(dLo)));
16058 UInt rG = gregOfRexRM(pfx, modrm);
16060 UInt regNoR = (isAvx && opc != 0xDB) ? getVexNvvvv(pfx) : rG;
16085 UInt gstOffD = ymmGuestRegOffset(rG);
16113 else if (!isAvx || rG == regNoR)
16138 (isAvx && opc != 0xDB) ? nameXMMReg(rG) : "");
16141 putYMMRegLane128( rG, 1, mkV128(0) );
16365 UInt rG = gregOfRexRM(pfx,modrm);
16366 assign( dV, getXMMReg(rG) );
16371 DIP("pmuldq %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
16376 DIP("pmuldq %s,%s\n", dis_buf, nameXMMReg(rG));
16379 putXMMReg( rG, mkexpr(math_PMULDQ_128( dV, sV )) );
16733 UInt rG = gregOfRexRM(pfx,modrm);
16740 assign( xmm_vec, getXMMReg(rG) );
16767 nameXMMReg( rG ), nameIReg32( rE ) );
16771 DIP( "%spextrw $%d, %s,%s\n", mbV, imm8_20, nameXMMReg( rG ), dis_buf );
17293 UInt rG = gregOfRexRM(pfx,modrm);
17297 assign( xmm_vec, getXMMReg( rG ) );
17320 nameXMMReg( rG ), nameIReg32( rE ) );
17325 nameXMMReg( rG ), dis_buf );
17725 UInt rG = gregOfRexRM(pfx, modrm);
17732 nameIReg32(rE), nameXMMReg(rG) );
17739 imm8, dis_buf, nameXMMReg(rG) );
17744 putXMMReg( rG, mkexpr(res) );
17758 UInt rG = gregOfRexRM(pfx, modrm);
17770 imm8, nameXMMReg(rE), nameXMMReg(rG) );
17777 imm8, dis_buf, nameXMMReg(rG) );
17781 assign( vG, getXMMReg(rG) );
17783 putXMMReg( rG, mkexpr(math_INSERTPS( vG, d2ins, imm8 )) );
17796 UInt rG = gregOfRexRM(pfx, modrm);
17804 imm8_10, nameIReg32(rE), nameXMMReg(rG) );
17811 imm8_10, dis_buf, nameXMMReg(rG) );
17815 assign(src_vec, getXMMReg( rG ));
17817 putXMMReg( rG, mkexpr(res_vec) );
17827 UInt rG = gregOfRexRM(pfx, modrm);
17835 imm8_0, nameIReg64(rE), nameXMMReg(rG) );
17842 imm8_0, dis_buf, nameXMMReg(rG) );
17846 assign(src_vec, getXMMReg( rG ));
17848 putXMMReg( rG, mkexpr(res_vec) );
17861 UInt rG = gregOfRexRM(pfx, modrm);
17862 assign( dst_vec, getXMMReg( rG ) );
17869 imm8, nameXMMReg(rE), nameXMMReg(rG) );
17878 imm8, dis_buf, nameXMMReg(rG) );
17881 putXMMReg( rG, mkexpr(res) );
17894 UInt rG = gregOfRexRM(pfx, modrm);
17895 assign( dst_vec, getXMMReg( rG ) );
17902 imm8, nameXMMReg(rE), nameXMMReg(rG) );
17911 imm8, dis_buf, nameXMMReg(rG) );
17914 putXMMReg( rG, mkexpr(res) );
17927 UInt rG = gregOfRexRM(pfx, modrm);
17929 assign( dst_vec, getXMMReg(rG) );
17938 nameXMMReg(rE), nameXMMReg(rG) );
17946 DIP( "mpsadbw $%d, %s,%s\n", imm8, dis_buf, nameXMMReg(rG) );
17949 putXMMReg( rG, mkexpr( math_MPSADBW_128(dst_vec, src_vec, imm8) ) );
17965 UInt rG = gregOfRexRM(pfx, modrm);
17967 assign( dvec, getXMMReg(rG) );
17975 nameXMMReg(rE), nameXMMReg(rG) );
17984 imm8, dis_buf, nameXMMReg(rG) );
17987 putXMMReg( rG, mkexpr( math_PCLMULQDQ(dvec, svec, imm8) ) );
20673 UInt rG = gregOfRexRM(pfx,modrm);
20683 nameXMMReg(rV), nameXMMReg(rG) );
20688 DIP("%s %s,%s,%s\n", opname, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
20733 putYMMRegLoAndZU( rG, mkexpr(g1) );
20811 UInt rG = gregOfRexRM(pfx,rm);
20816 putXMMReg( rG, binop(op, vpart, getXMMReg(rE)) );
20818 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
20827 putXMMReg( rG, binop(op, vpart, mkexpr(epart)) );
20829 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
20832 putYMMRegLane128( rG, 1, mkV128(0) );
20854 UInt rG = gregOfRexRM(pfx,rm);
20863 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
20869 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
20879 putYMMRegLoAndZU( rG, unop(op, mkexpr(arg)) );
20901 UInt rG = gregOfRexRM(pfx,rm);
20910 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
20916 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
20926 putYMMRegLoAndZU( rG, unop(op, mkexpr(arg)) );
20948 UInt rG = gregOfRexRM(pfx,rm);
20953 putXMMReg( rG, binop(op, vpart, getXMMReg(rE)) );
20955 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
20964 putXMMReg( rG, binop(op, vpart, mkexpr(epart)) );
20966 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
20969 putYMMRegLane128( rG, 1, mkV128(0) );
21011 UInt rG = gregOfRexRM(pfx, rm);
21026 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21038 opname, (Int)imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
21048 putYMMRegLoAndZU( rG, unop(Iop_NotV128, mkexpr(plain)) );
21050 putYMMRegLoAndZU( rG, mkexpr(plain) );
21061 putYMMRegLoAndZU( rG, binop(Iop_XorV128, mkexpr(plain),
21064 putYMMRegLoAndZU( rG, mkexpr(plain) );
21093 putYMMRegLoAndZU( rG, mkexpr(res) );
21121 UInt rG = gregOfRexRM(pfx, rm);
21141 nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
21151 opname, (Int)imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
21163 putYMMReg( rG, unop(Iop_NotV256, mkexpr(plain)) );
21165 putYMMReg( rG, mkexpr(plain) );
21187 UInt rG = gregOfRexRM(pfx, rm);
21192 DIP("%s %s,%s\n", opname, nameXMMReg(rE), nameXMMReg(rG));
21197 DIP("%s %s,%s\n", opname, dis_buf, nameXMMReg(rG));
21200 putYMMRegLoAndZU( rG, mkexpr(res) );
21218 UInt rG = gregOfRexRM(pfx, rm);
21223 DIP("%s %s,%s\n", opname, nameXMMReg(rE), nameXMMReg(rG));
21228 DIP("%s %s,%s\n", opname, dis_buf, nameXMMReg(rG));
21230 putYMMRegLoAndZU( rG, unop(op, mkexpr(arg)) );
21336 UInt rG = gregOfRexRM(pfx, rm);
21341 DIP("%s %s,%s\n", opname, nameYMMReg(rE), nameYMMReg(rG));
21346 DIP("%s %s,%s\n", opname, dis_buf, nameYMMReg(rG));
21348 putYMMReg( rG, unop(op, mkexpr(arg)) );
21364 UInt rG = gregOfRexRM(pfx,modrm);
21369 DIP("vcvtdq2pd %s,%s\n", nameXMMReg(rE), nameYMMReg(rG));
21374 DIP("vcvtdq2pd %s,%s\n", dis_buf, nameYMMReg(rG) );
21387 putYMMReg(rG, res);
21399 UInt rG = gregOfRexRM(pfx,modrm);
21406 DIP("vcvtpd2psy %s,%s\n", nameYMMReg(rE), nameXMMReg(rG));
21411 DIP("vcvtpd2psy %s,%s\n", dis_buf, nameXMMReg(rG) );
21420 putXMMRegLane32F( rG, 3, CVT(t3) );
21421 putXMMRegLane32F( rG, 2, CVT(t2) );
21422 putXMMRegLane32F( rG, 1, CVT(t1) );
21423 putXMMRegLane32F( rG, 0, CVT(t0) );
21425 putYMMRegLane128( rG, 1, mkV128(0) );
21460 UInt rG = gregOfRexRM(pfx,modrm);
21463 putXMMReg( rG, mkexpr(z128) );
21465 putXMMRegLane64( rG, 0, loadLE(Ity_I64, mkexpr(addr)) );
21466 putYMMRegLane128( rG, 1, mkexpr(z128) );
21467 DIP("vmovsd %s,%s\n", dis_buf, nameXMMReg(rG));
21475 UInt rG = gregOfRexRM(pfx, modrm);
21480 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21485 putYMMRegLoAndZU(rG, mkexpr(res));
21495 UInt rG = gregOfRexRM(pfx,modrm);
21498 putXMMReg( rG, mkexpr(z128) );
21500 putXMMRegLane32( rG, 0, loadLE(Ity_I32, mkexpr(addr)) );
21501 putYMMRegLane128( rG, 1, mkexpr(z128) );
21502 DIP("vmovss %s,%s\n", dis_buf, nameXMMReg(rG));
21510 UInt rG = gregOfRexRM(pfx, modrm);
21515 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21522 putYMMRegLoAndZU(rG, mkexpr(res));
21529 UInt rG = gregOfRexRM(pfx, modrm);
21532 putYMMRegLoAndZU( rG, getXMMReg( rE ));
21533 DIP("vmovupd %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
21537 putYMMRegLoAndZU( rG, loadLE(Ity_V128, mkexpr(addr)) );
21538 DIP("vmovupd %s,%s\n", dis_buf, nameXMMReg(rG));
21546 UInt rG = gregOfRexRM(pfx, modrm);
21549 putYMMReg( rG, getYMMReg( rE ));
21550 DIP("vmovupd %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
21554 putYMMReg( rG, loadLE(Ity_V256, mkexpr(addr)) );
21555 DIP("vmovupd %s,%s\n", dis_buf, nameYMMReg(rG));
21563 UInt rG = gregOfRexRM(pfx, modrm);
21566 putYMMRegLoAndZU( rG, getXMMReg( rE ));
21567 DIP("vmovups %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
21571 putYMMRegLoAndZU( rG, loadLE(Ity_V128, mkexpr(addr)) );
21572 DIP("vmovups %s,%s\n", dis_buf, nameXMMReg(rG));
21580 UInt rG = gregOfRexRM(pfx, modrm);
21583 putYMMReg( rG, getYMMReg( rE ));
21584 DIP("vmovups %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
21588 putYMMReg( rG, loadLE(Ity_V256, mkexpr(addr)) );
21589 DIP("vmovups %s,%s\n", dis_buf, nameYMMReg(rG));
21602 UInt rG = gregOfRexRM(pfx,modrm);
21604 storeLE( mkexpr(addr), getXMMRegLane64(rG, 0));
21605 DIP("vmovsd %s,%s\n", nameXMMReg(rG), dis_buf);
21613 UInt rG = gregOfRexRM(pfx, modrm);
21618 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21623 putYMMRegLoAndZU(rG, mkexpr(res));
21632 UInt rG = gregOfRexRM(pfx,modrm);
21634 storeLE( mkexpr(addr), getXMMRegLane32(rG, 0));
21635 DIP("vmovss %s,%s\n", nameXMMReg(rG), dis_buf);
21643 UInt rG = gregOfRexRM(pfx, modrm);
21648 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21655 putYMMRegLoAndZU(rG, mkexpr(res));
21662 UInt rG = gregOfRexRM(pfx,modrm);
21665 putYMMRegLoAndZU( rE, getXMMReg(rG) );
21666 DIP("vmovupd %s,%s\n", nameXMMReg(rG), nameXMMReg(rE));
21670 storeLE( mkexpr(addr), getXMMReg(rG) );
21671 DIP("vmovupd %s,%s\n", nameXMMReg(rG), dis_buf);
21679 UInt rG = gregOfRexRM(pfx,modrm);
21682 putYMMReg( rE, getYMMReg(rG) );
21683 DIP("vmovupd %s,%s\n", nameYMMReg(rG), nameYMMReg(rE));
21687 storeLE( mkexpr(addr), getYMMReg(rG) );
21688 DIP("vmovupd %s,%s\n", nameYMMReg(rG), dis_buf);
21696 UInt rG = gregOfRexRM(pfx,modrm);
21699 putYMMRegLoAndZU( rE, getXMMReg(rG) );
21700 DIP("vmovups %s,%s\n", nameXMMReg(rG), nameXMMReg(rE));
21704 storeLE( mkexpr(addr), getXMMReg(rG) );
21705 DIP("vmovups %s,%s\n", nameXMMReg(rG), dis_buf);
21713 UInt rG = gregOfRexRM(pfx,modrm);
21716 putYMMReg( rE, getYMMReg(rG) );
21717 DIP("vmovups %s,%s\n", nameYMMReg(rG), nameYMMReg(rE));
21721 storeLE( mkexpr(addr), getYMMReg(rG) );
21722 DIP("vmovups %s,%s\n", nameYMMReg(rG), dis_buf);
21745 UInt rG = gregOfRexRM(pfx, modrm);
21750 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21755 putYMMRegLoAndZU(rG, mkexpr(res));
21766 UInt rG = gregOfRexRM(pfx, modrm);
21771 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
21776 putYMMRegLoAndZU(rG, mkexpr(res));
21801 UInt rG = gregOfRexRM(pfx, modrm);
21804 storeLE( mkexpr(addr), getXMMRegLane64( rG, 0));
21805 DIP("vmovlpd %s,%s\n", nameXMMReg(rG), dis_buf);
21817 UInt rG = gregOfRexRM(pfx,modrm);
21827 nameXMMReg(rE), nameXMMReg(rG));
21833 dis_buf, nameXMMReg(rG));
21836 putYMMRegLoAndZU( rG, mkexpr(res) );
21845 UInt rG = gregOfRexRM(pfx,modrm);
21855 nameYMMReg(rE), nameYMMReg(rG));
21861 dis_buf, nameYMMReg(rG));
21864 putYMMReg( rG, mkexpr(res) );
21873 UInt rG = gregOfRexRM(pfx,modrm);
21883 nameXMMReg(rE), nameXMMReg(rG));
21889 dis_buf, nameXMMReg(rG));
21892 putYMMRegLoAndZU( rG, mkexpr(res) );
21901 UInt rG = gregOfRexRM(pfx,modrm);
21911 nameYMMReg(rE), nameYMMReg(rG));
21917 dis_buf, nameYMMReg(rG));
21920 putYMMReg( rG, mkexpr(res) );
21932 UInt rG = gregOfRexRM(pfx, modrm);
21937 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
21942 putYMMRegLoAndZU(rG, mkexpr(res));
21953 UInt rG = gregOfRexRM(pfx, modrm);
21958 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
21963 putYMMRegLoAndZU(rG, mkexpr(res));
21988 UInt rG = gregOfRexRM(pfx, modrm);
21991 storeLE( mkexpr(addr), getXMMRegLane64( rG, 1));
21993 nameXMMReg(rG), dis_buf);
22002 UInt rG = gregOfRexRM(pfx, modrm);
22005 putYMMRegLoAndZU( rG, getXMMReg( rE ));
22006 DIP("vmovapd %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
22011 putYMMRegLoAndZU( rG, loadLE(Ity_V128, mkexpr(addr)) );
22012 DIP("vmovapd %s,%s\n", dis_buf, nameXMMReg(rG));
22020 UInt rG = gregOfRexRM(pfx, modrm);
22023 putYMMReg( rG, getYMMReg( rE ));
22024 DIP("vmovapd %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
22029 putYMMReg( rG, loadLE(Ity_V256, mkexpr(addr)) );
22030 DIP("vmovapd %s,%s\n", dis_buf, nameYMMReg(rG));
22038 UInt rG = gregOfRexRM(pfx, modrm);
22041 putYMMRegLoAndZU( rG, getXMMReg( rE ));
22042 DIP("vmovaps %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
22047 putYMMRegLoAndZU( rG, loadLE(Ity_V128, mkexpr(addr)) );
22048 DIP("vmovaps %s,%s\n", dis_buf, nameXMMReg(rG));
22056 UInt rG = gregOfRexRM(pfx, modrm);
22059 putYMMReg( rG, getYMMReg( rE ));
22060 DIP("vmovaps %s,%s\n", nameYMMReg(rE), nameYMMReg(rG));
22065 putYMMReg( rG, loadLE(Ity_V256, mkexpr(addr)) );
22066 DIP("vmovaps %s,%s\n", dis_buf, nameYMMReg(rG));
22077 UInt rG = gregOfRexRM(pfx,modrm);
22080 putYMMRegLoAndZU( rE, getXMMReg(rG) );
22081 DIP("vmovapd %s,%s\n", nameXMMReg(rG), nameXMMReg(rE));
22086 rG) );
22087 DIP("vmovapd %s,%s\n", nameXMMReg(rG), dis_buf );
22095 UInt rG = gregOfRexRM(pfx,modrm);
22098 putYMMReg( rE, getYMMReg(rG) );
22099 DIP("vmovapd %s,%s\n", nameYMMReg(rG), nameYMMReg(rE));
22104 storeLE( mkexpr(addr), getYMMReg(rG) );
22105 DIP("vmovapd %s,%s\n", nameYMMReg(rG), dis_buf );
22113 UInt rG = gregOfRexRM(pfx,modrm);
22116 putYMMRegLoAndZU( rE, getXMMReg(rG) );
22117 DIP("vmovaps %s,%s\n", nameXMMReg(rG), nameXMMReg(rE));
22123 storeLE( mkexpr(addr), getXMMReg(rG) );
22124 DIP("vmovaps %s,%s\n", nameXMMReg(rG), dis_buf );
22132 UInt rG = gregOfRexRM(pfx,modrm);
22135 putYMMReg( rE, getYMMReg(rG) );
22136 DIP("vmovaps %s,%s\n", nameYMMReg(rG), nameYMMReg(rE));
22142 storeLE( mkexpr(addr), getYMMReg(rG) );
22143 DIP("vmovaps %s,%s\n", nameYMMReg(rG), dis_buf );
23398 UInt rG = gregOfRexRM(pfx,modrm);
23404 nameXMMReg(rV), nameXMMReg(rG));
23410 nameXMMReg(rV), nameXMMReg(rG));
23414 putYMMRegLoAndZU( rG, mkexpr( math_HADDPS_128 ( dV, sV, isAdd ) ) );
23427 UInt rG = gregOfRexRM(pfx,modrm);
23434 nameYMMReg(rV), nameYMMReg(rG));
23440 nameYMMReg(rV), nameYMMReg(rG));
23446 putYMMReg( rG, binop(Iop_V128HLtoV256,
23460 UInt rG = gregOfRexRM(pfx,modrm);
23466 nameXMMReg(rV), nameXMMReg(rG));
23472 nameXMMReg(rV), nameXMMReg(rG));
23476 putYMMRegLoAndZU( rG, mkexpr( math_HADDPD_128 ( dV, sV, isAdd ) ) );
23489 UInt rG = gregOfRexRM(pfx,modrm);
23496 nameYMMReg(rV), nameYMMReg(rG));
23502 nameYMMReg(rV), nameYMMReg(rG));
23508 putYMMReg( rG, binop(Iop_V128HLtoV256,
23526 UInt rG = gregOfRexRM(pfx,modrm);
23529 putXMMRegLane64( rG, 0, getXMMRegLane64( rE, 0 ));
23530 DIP("vmovq %s,%s\n", nameXMMReg(rE), nameXMMReg(rG));
23534 putXMMRegLane64( rG, 0, loadLE(Ity_I64, mkexpr(addr)) );
23535 DIP("vmovq %s,%s\n", dis_buf, nameXMMReg(rG));
23539 putXMMRegLane64( rG, 1, mkU64(0) );
23540 putYMMRegLane128( rG, 1, mkV128(0) );
23549 UInt rG = gregOfRexRM(pfx,modrm);
23552 DIP("vmovq %s,%s\n", nameXMMReg(rG), nameIReg64(rE));
23553 putIReg64(rE, getXMMRegLane64(rG, 0));
23557 storeLE( mkexpr(addr), getXMMRegLane64(rG, 0) );
23558 DIP("vmovq %s,%s\n", dis_buf, nameXMMReg(rG));
23568 UInt rG = gregOfRexRM(pfx,modrm);
23571 DIP("vmovd %s,%s\n", nameXMMReg(rG), nameIReg32(rE));
23572 putIReg32(rE, getXMMRegLane32(rG, 0));
23576 storeLE( mkexpr(addr), getXMMRegLane32(rG, 0) );
23577 DIP("vmovd %s,%s\n", dis_buf, nameXMMReg(rG));
23723 UInt rG = gregOfRexRM(pfx, modrm);
23734 nameIReg32( eregOfRexRM(pfx, modrm) ), nameXMMReg(rG) );
23741 imm8, dis_buf, nameXMMReg(rG) );
23747 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
23773 UInt rG = gregOfRexRM(pfx,modrm);
23782 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
23789 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
23792 putYMMRegLoAndZU( rG, mkexpr(res) );
23803 UInt rG = gregOfRexRM(pfx,modrm);
23812 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
23819 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
23822 putYMMReg( rG, mkexpr(res) );
23833 UInt rG = gregOfRexRM(pfx,modrm);
23842 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
23849 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
23852 putYMMRegLoAndZU( rG, mkexpr(res) );
23863 UInt rG = gregOfRexRM(pfx,modrm);
23872 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
23879 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
23882 putYMMReg( rG, mkexpr(res) );
23977 UInt rG = gregOfRexRM(pfx,modrm);
23983 storeLE( mkexpr(addr), getXMMRegLane64( rG, 0 ));
23984 DIP("vmovq %s,%s\n", nameXMMReg(rG), dis_buf );
24169 UInt rG = gregOfRexRM(pfx,modrm);
24173 storeLE( mkexpr(addr), getXMMReg(rG) );
24174 DIP("vmovntdq %s,%s\n", dis_buf, nameXMMReg(rG));
24183 UInt rG = gregOfRexRM(pfx,modrm);
24187 storeLE( mkexpr(addr), getYMMReg(rG) );
24188 DIP("vmovntdq %s,%s\n", dis_buf, nameYMMReg(rG));
24603 UInt rG = gregOfRexRM(pfx,modrm);
24620 nameXMMReg(rV), nameXMMReg(rG));
24626 nameXMMReg(rV), nameXMMReg(rG));
24633 rG,
24652 UInt rG = gregOfRexRM(pfx,modrm);
24662 nameXMMReg(rV), nameXMMReg(rG));
24668 nameXMMReg(rV), nameXMMReg(rG));
24675 rG,
24691 UInt rG = gregOfRexRM(pfx, modrm);
24698 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
24704 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
24710 putYMMRegLoAndZU(rG, mkexpr(resV));
24718 UInt rG = gregOfRexRM(pfx, modrm);
24725 nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
24731 dis_buf, nameYMMReg(rV), nameYMMReg(rG));
24737 putYMMReg(rG, mkexpr(resV));
24748 UInt rG = gregOfRexRM(pfx, modrm);
24755 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
24761 dis_buf, nameXMMReg(rV), nameXMMReg(rG));
24767 putYMMRegLoAndZU(rG, mkexpr(resV));
24775 UInt rG = gregOfRexRM(pfx, modrm);
24782 nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
24788 dis_buf, nameYMMReg(rV), nameYMMReg(rG));
24794 putYMMReg(rG, mkexpr(resV));
24845 UInt rG = gregOfRexRM(pfx, modrm);
24848 DIP("vbroadcastss %s,%s\n", dis_buf, nameXMMReg(rG));
24854 putYMMRegLoAndZU(rG, res);
24862 UInt rG = gregOfRexRM(pfx, modrm);
24865 DIP("vbroadcastss %s,%s\n", dis_buf, nameYMMReg(rG));
24872 putYMMReg(rG, res);
24883 UInt rG = gregOfRexRM(pfx, modrm);
24886 DIP("vbroadcastsd %s,%s\n", dis_buf, nameYMMReg(rG));
24891 putYMMReg(rG, res);
24902 UInt rG = gregOfRexRM(pfx, modrm);
24905 DIP("vbroadcastf128 %s,%s\n", dis_buf, nameYMMReg(rG));
24908 putYMMReg( rG, binop(Iop_V128HLtoV256, mkexpr(t128), mkexpr(t128)) );
25292 UInt rG = gregOfRexRM(pfx, modrm);
25299 imm8, nameYMMReg(rE), nameYMMReg(rG));
25306 imm8, dis_buf, nameYMMReg(rG));
25315 putYMMReg(rG, res);
25322 UInt rG = gregOfRexRM(pfx, modrm);
25329 imm8, nameXMMReg(rE), nameXMMReg(rG));
25336 imm8, dis_buf, nameXMMReg(rG));
25340 putYMMRegLoAndZU(rG, mkexpr ( math_VPERMILPS_128 ( sV, imm8 ) ) );
25350 UInt rG = gregOfRexRM(pfx, modrm);
25357 imm8, nameXMMReg(rE), nameXMMReg(rG));
25364 imm8, dis_buf, nameXMMReg(rG));
25376 putYMMRegLoAndZU(rG, mkexpr(dV));
25383 UInt rG = gregOfRexRM(pfx, modrm);
25390 imm8, nameYMMReg(rE), nameYMMReg(rG));
25397 imm8, dis_buf, nameYMMReg(rG));
25410 putYMMReg(rG, mkexpr(dV));
25421 UInt rG = gregOfRexRM(pfx, modrm);
25434 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
25442 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
25451 putYMMRegLane128(rG, 0, mkexpr(SEL((imm8 >> 0) & 3)));
25452 putYMMRegLane128(rG, 1, mkexpr(SEL((imm8 >> 4) & 3)));
25454 if (imm8 & (1<<3)) putYMMRegLane128(rG, 0, mkV128(0));
25455 if (imm8 & (1<<7)) putYMMRegLane128(rG, 1, mkV128(0));
25466 UInt rG = gregOfRexRM(pfx, modrm);
25483 DIP( "vroundps $%d,%s,%s\n", imm, nameXMMReg(rE), nameXMMReg(rG) );
25490 DIP( "vroundps $%d,%s,%s\n", imm, dis_buf, nameXMMReg(rG) );
25500 putYMMRegLane128( rG, 1, mkV128(0) );
25503 putYMMRegLane32F( rG, 3, CVT(s3) );
25504 putYMMRegLane32F( rG, 2, CVT(s2) );
25505 putYMMRegLane32F( rG, 1, CVT(s1) );
25506 putYMMRegLane32F( rG, 0, CVT(s0) );
25514 UInt rG = gregOfRexRM(pfx, modrm);
25535 DIP( "vroundps $%d,%s,%s\n", imm, nameYMMReg(rE), nameYMMReg(rG) );
25542 DIP( "vroundps $%d,%s,%s\n", imm, dis_buf, nameYMMReg(rG) );
25554 putYMMRegLane32F( rG, 7, CVT(s7) );
25555 putYMMRegLane32F( rG, 6, CVT(s6) );
25556 putYMMRegLane32F( rG, 5, CVT(s5) );
25557 putYMMRegLane32F( rG, 4, CVT(s4) );
25558 putYMMRegLane32F( rG, 3, CVT(s3) );
25559 putYMMRegLane32F( rG, 2, CVT(s2) );
25560 putYMMRegLane32F( rG, 1, CVT(s1) );
25561 putYMMRegLane32F( rG, 0, CVT(s0) );
25571 UInt rG = gregOfRexRM(pfx, modrm);
25586 DIP( "vroundpd $%d,%s,%s\n", imm, nameXMMReg(rE), nameXMMReg(rG) );
25593 DIP( "vroundpd $%d,%s,%s\n", imm, dis_buf, nameXMMReg(rG) );
25603 putYMMRegLane128( rG, 1, mkV128(0) );
25606 putYMMRegLane64F( rG, 1, CVT(s1) );
25607 putYMMRegLane64F( rG, 0, CVT(s0) );
25615 UInt rG = gregOfRexRM(pfx, modrm);
25632 DIP( "vroundpd $%d,%s,%s\n", imm, nameYMMReg(rE), nameYMMReg(rG) );
25639 DIP( "vroundps $%d,%s,%s\n", imm, dis_buf, nameYMMReg(rG) );
25651 putYMMRegLane64F( rG, 3, CVT(s3) );
25652 putYMMRegLane64F( rG, 2, CVT(s2) );
25653 putYMMRegLane64F( rG, 1, CVT(s1) );
25654 putYMMRegLane64F( rG, 0, CVT(s0) );
25667 UInt rG = gregOfRexRM(pfx, modrm);
25683 imm, nameXMMReg( rE ), nameXMMReg( rV ), nameXMMReg( rG ) );
25692 imm, dis_buf, nameXMMReg( rV ), nameXMMReg( rG ) );
25705 putXMMRegLane64F( rG, 0, mkexpr(res) );
25707 putXMMRegLane32F( rG, 0, mkexpr(res) );
25708 putXMMRegLane32F( rG, 1, getXMMRegLane32F( rV, 1 ) );
25710 putXMMRegLane64F( rG, 1, getXMMRegLane64F( rV, 1 ) );
25711 putYMMRegLane128( rG, 1, mkV128(0) );
25723 UInt rG = gregOfRexRM(pfx, modrm);
25733 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
25740 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
25744 putYMMReg( rG,
25754 UInt rG = gregOfRexRM(pfx, modrm);
25764 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
25771 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
25775 putYMMRegLoAndZU( rG,
25788 UInt rG = gregOfRexRM(pfx, modrm);
25798 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
25805 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
25809 putYMMReg( rG,
25819 UInt rG = gregOfRexRM(pfx, modrm);
25829 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
25836 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG));
25840 putYMMRegLoAndZU( rG,
25853 UInt rG = gregOfRexRM(pfx, modrm);
25863 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG));
25870 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
25874 putYMMRegLoAndZU( rG,
25886 UInt rG = gregOfRexRM(pfx, modrm);
25900 nameXMMReg(rV), nameXMMReg(rG));
25907 nameXMMReg(rV), nameXMMReg(rG));
25911 putYMMRegLoAndZU( rG, mkexpr(res) );
25968 UInt rG = gregOfRexRM(pfx, modrm);
25977 ib, nameXMMReg(rE), nameYMMReg(rV), nameYMMReg(rG));
25984 ib, dis_buf, nameYMMReg(rV), nameYMMReg(rG));
25987 putYMMRegLane128(rG, 0, getYMMRegLane128(rV, 0));
25988 putYMMRegLane128(rG, 1, getYMMRegLane128(rV, 1));
25989 putYMMRegLane128(rG, ib & 1, mkexpr(t128));
26033 UInt rG = gregOfRexRM(pfx, modrm);
26044 imm8, nameIReg32(rE), nameXMMReg(rV), nameXMMReg(rG) );
26051 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26057 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
26068 UInt rG = gregOfRexRM(pfx, modrm);
26084 imm8, nameXMMReg(rE), nameXMMReg(rG) );
26091 imm8, dis_buf, nameXMMReg(rG) );
26097 putYMMRegLoAndZU( rG, mkexpr(math_INSERTPS( vV, d2ins, imm8 )) );
26108 UInt rG = gregOfRexRM(pfx, modrm);
26119 imm8_10, nameIReg32(rE), nameXMMReg(rV), nameXMMReg(rG) );
26126 imm8_10, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26132 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
26140 UInt rG = gregOfRexRM(pfx, modrm);
26151 imm8_0, nameIReg64(rE), nameXMMReg(rV), nameXMMReg(rG) );
26158 imm8_0, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26164 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
26174 UInt rG = gregOfRexRM(pfx, modrm);
26184 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG) );
26191 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26197 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
26204 UInt rG = gregOfRexRM(pfx, modrm);
26214 imm8, nameYMMReg(rE), nameYMMReg(rV), nameYMMReg(rG) );
26221 imm8, dis_buf, nameYMMReg(rV), nameYMMReg(rG) );
26230 putYMMReg( rG, binop( Iop_V128HLtoV256,
26242 UInt rG = gregOfRexRM(pfx, modrm);
26252 imm8, nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG) );
26259 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26265 putYMMRegLoAndZU( rG, mkexpr(res_vec) );
26279 UInt rG = gregOfRexRM(pfx, modrm);
26291 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG) );
26299 dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26302 putYMMRegLoAndZU( rG, mkexpr( math_MPSADBW_128(dst_vec,
26321 UInt rG = gregOfRexRM(pfx, modrm);
26332 nameXMMReg(rE), nameXMMReg(rV), nameXMMReg(rG) );
26340 imm8, dis_buf, nameXMMReg(rV), nameXMMReg(rG) );
26343 putYMMRegLoAndZU( rG, mkexpr( math_PCLMULQDQ(dV, sV, imm8) ) );