• Home
  • Raw
  • Download

Lines Matching refs:assign

633 static void assign ( IRTemp dst, IRExpr* e )  in assign()  function
761 assign(expTmp, expVal); in casLE()
987 assign( guardB, binop(Iop_CmpNE8, mkexpr(guard), mkU8(0)) ); in setFlags_DEP1_DEP2_shift()
1141 assign( oldc, binop(Iop_And32, in helper_ADC()
1145 assign( oldcn, narrowTo(ty, mkexpr(oldc)) ); in helper_ADC()
1147 assign( tres, binop(plus, in helper_ADC()
1195 assign( oldc, binop(Iop_And32, in helper_SBB()
1199 assign( oldcn, narrowTo(ty, mkexpr(oldc)) ); in helper_SBB()
1201 assign( tres, binop(minus, in helper_SBB()
1446 assign( seg_selector, unop(Iop_16Uto32, getSReg(sreg)) ); in handleSegOverride()
1447 assign( ldt_ptr, IRExpr_Get( OFFB_LDT, hWordTy )); in handleSegOverride()
1448 assign( gdt_ptr, IRExpr_Get( OFFB_GDT, hWordTy )); in handleSegOverride()
1455 assign( in handleSegOverride()
1498 assign( tmp, addr32 ); in disAMode_copy2tmp()
1857 assign( dst0, getIReg(size,gregOfRM(rm)) ); in dis_op2_E_G()
1858 assign( src, getIReg(size,eregOfRM(rm)) ); in dis_op2_E_G()
1870 assign( dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) ); in dis_op2_E_G()
1886 assign( dst0, getIReg(size,gregOfRM(rm)) ); in dis_op2_E_G()
1887 assign( src, loadLE(szToITy(size), mkexpr(addr)) ); in dis_op2_E_G()
1899 assign( dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) ); in dis_op2_E_G()
1970 assign(dst0, getIReg(size,eregOfRM(rm))); in dis_op2_G_E()
1971 assign(src, getIReg(size,gregOfRM(rm))); in dis_op2_G_E()
1983 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src))); in dis_op2_G_E()
2001 assign(dst0, loadLE(ty,mkexpr(addr))); in dis_op2_G_E()
2002 assign(src, getIReg(size,gregOfRM(rm))); in dis_op2_G_E()
2026 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src))); in dis_op2_G_E()
2153 assign(dst0, getIReg(size,R_EAX)); in dis_op_imm_A()
2154 assign(src, mkU(ty,lit)); in dis_op_imm_A()
2157 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) ); in dis_op_imm_A()
2163 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src)) ); in dis_op_imm_A()
2245 assign( src64, binop(Iop_32HLto64, in codegen_div()
2247 assign( dst64, binop(op, mkexpr(src64), mkexpr(t)) ); in codegen_div()
2254 assign( src64, unop(widen3264, in codegen_div()
2257 assign( dst64, binop(op, mkexpr(src64), unop(widen1632,mkexpr(t))) ); in codegen_div()
2266 assign( src64, unop(widen3264, unop(widen1632, getIReg(2,R_EAX))) ); in codegen_div()
2267 assign( dst64, in codegen_div()
2309 assign(dst0, getIReg(sz,eregOfRM(modrm))); in dis_Grp1()
2310 assign(src, mkU(ty,d32 & mask)); in dis_Grp1()
2320 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src))); in dis_Grp1()
2336 assign(dst0, loadLE(ty,mkexpr(addr))); in dis_Grp1()
2337 assign(src, mkU(ty,d32 & mask)); in dis_Grp1()
2361 assign(dst1, binop(mkSizedOp(ty,op8), mkexpr(dst0), mkexpr(src))); in dis_Grp1()
2409 assign(dst0, getIReg(sz, eregOfRM(modrm))); in dis_Grp2()
2413 assign(dst0, loadLE(ty,mkexpr(addr))); in dis_Grp2()
2441 assign( r64, mkIRExprCCall( in dis_Grp2()
2450 assign( dst1, narrowTo(ty, unop(Iop_64to32, mkexpr(r64))) ); in dis_Grp2()
2487 assign( shift_amt, binop(Iop_And8, shift_expr, mkU8(31)) ); in dis_Grp2()
2490 assign( pre32, op32==Iop_Sar32 ? widenSto32(mkexpr(dst0)) in dis_Grp2()
2494 assign( res32, binop(op32, mkexpr(pre32), mkexpr(shift_amt)) ); in dis_Grp2()
2497 assign( res32ss, in dis_Grp2()
2509 assign( dst1, narrowTo(ty, mkexpr(res32)) ); in dis_Grp2()
2525 assign(rot_amt32, binop(Iop_And8, shift_expr, mkU8(31))); in dis_Grp2()
2528 assign(rot_amt, mkexpr(rot_amt32)); in dis_Grp2()
2530 assign(rot_amt, binop(Iop_And8, mkexpr(rot_amt32), mkU8(8*sz-1))); in dis_Grp2()
2535 assign(dst1, in dis_Grp2()
2552 assign(dst1, in dis_Grp2()
2572 assign(oldFlags, mk_x86g_calculate_eflags_all()); in dis_Grp2()
2576 assign(rot_amt32b, binop(Iop_CmpNE8, mkexpr(rot_amt32), mkU8(0)) ); in dis_Grp2()
2672 assign( t2, widenUto32(getIReg(sz, eregOfRM(modrm))) ); in dis_Grp8_Imm()
2680 assign( t2, widenUto32(loadLE(ty, mkexpr(t_addr))) ); in dis_Grp8_Imm()
2690 assign( t2m, binop(Iop_Or32, mkU32(mask), mkexpr(t2)) ); in dis_Grp8_Imm()
2693 assign( t2m, binop(Iop_And32, mkU32(mask), mkexpr(t2)) ); in dis_Grp8_Imm()
2696 assign( t2m, binop(Iop_Xor32, mkU32(mask), mkexpr(t2)) ); in dis_Grp8_Imm()
2749 assign( t1, getIReg(sz, R_EAX) ); in codegen_mulL_A_D()
2759 assign( res64, binop(mulOp, mkexpr(t1), mkexpr(tmp)) ); in codegen_mulL_A_D()
2760 assign( resHi, unop(Iop_64HIto32,mkexpr(res64))); in codegen_mulL_A_D()
2761 assign( resLo, unop(Iop_64to32,mkexpr(res64))); in codegen_mulL_A_D()
2773 assign( res32, binop(mulOp, mkexpr(t1), mkexpr(tmp)) ); in codegen_mulL_A_D()
2774 assign( resHi, unop(Iop_32HIto16,mkexpr(res32))); in codegen_mulL_A_D()
2775 assign( resLo, unop(Iop_32to16,mkexpr(res32))); in codegen_mulL_A_D()
2787 assign( res16, binop(mulOp, mkexpr(t1), mkexpr(tmp)) ); in codegen_mulL_A_D()
2788 assign( resHi, unop(Iop_16HIto8,mkexpr(res16))); in codegen_mulL_A_D()
2789 assign( resLo, unop(Iop_16to8,mkexpr(res16))); in codegen_mulL_A_D()
2828 assign(dst1, binop(mkSizedOp(ty,Iop_And8), in dis_Grp3()
2855 assign(dst0, mkU(ty,0)); in dis_Grp3()
2856 assign(src, getIReg(sz,eregOfRM(modrm))); in dis_Grp3()
2857 assign(dst1, binop(mkSizedOp(ty,Iop_Sub8), mkexpr(dst0), mkexpr(src))); in dis_Grp3()
2865 assign(src, getIReg(sz,eregOfRM(modrm))); in dis_Grp3()
2871 assign(src, getIReg(sz,eregOfRM(modrm))); in dis_Grp3()
2876 assign( t1, getIReg(sz, eregOfRM(modrm)) ); in dis_Grp3()
2882 assign( t1, getIReg(sz, eregOfRM(modrm)) ); in dis_Grp3()
2894 assign(t1, loadLE(ty,mkexpr(addr))); in dis_Grp3()
2899 assign(dst1, binop(mkSizedOp(ty,Iop_And8), in dis_Grp3()
2911 assign(dst1, unop(mkSizedOp(ty,Iop_Not8), mkexpr(t1))); in dis_Grp3()
2924 assign(dst0, mkU(ty,0)); in dis_Grp3()
2925 assign(src, mkexpr(t1)); in dis_Grp3()
2926 assign(dst1, binop(mkSizedOp(ty,Iop_Sub8), in dis_Grp3()
2982 assign(t1, getIReg(1, eregOfRM(modrm))); in dis_Grp4()
2985 assign(t2, binop(Iop_Add8, mkexpr(t1), mkU8(1))); in dis_Grp4()
2990 assign(t2, binop(Iop_Sub8, mkexpr(t1), mkU8(1))); in dis_Grp4()
3003 assign( t1, loadLE(ty, mkexpr(addr)) ); in dis_Grp4()
3006 assign(t2, binop(Iop_Add8, mkexpr(t1), mkU8(1))); in dis_Grp4()
3016 assign(t2, binop(Iop_Sub8, mkexpr(t1), mkU8(1))); in dis_Grp4()
3060 assign(t1, getIReg(sz,eregOfRM(modrm))); in dis_Grp5()
3065 assign(t2, binop(mkSizedOp(ty,Iop_Add8), in dis_Grp5()
3073 assign(t2, binop(mkSizedOp(ty,Iop_Sub8), in dis_Grp5()
3081 assign(t2, binop(Iop_Sub32, getIReg(4,R_ESP), mkU32(4))); in dis_Grp5()
3095 assign( t2, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) ); in dis_Grp5()
3108 assign(t1, loadLE(ty,mkexpr(addr))); in dis_Grp5()
3112 assign(t2, binop(mkSizedOp(ty,Iop_Add8), in dis_Grp5()
3124 assign(t2, binop(mkSizedOp(ty,Iop_Sub8), in dis_Grp5()
3137 assign(t2, binop(Iop_Sub32, getIReg(4,R_ESP), mkU32(4))); in dis_Grp5()
3151 assign( t2, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) ); in dis_Grp5()
3176 assign( t_inc, in dis_string_op_increment()
3180 assign( t_inc, in dis_string_op_increment()
3203 assign( td, getIReg(4, R_EDI) ); in dis_MOVS()
3204 assign( ts, getIReg(4, R_ESI) ); in dis_MOVS()
3218 assign( ts, getIReg(4, R_ESI) ); in dis_LODS()
3232 assign( ta, getIReg(sz, R_EAX) ); in dis_STOS()
3233 assign( td, getIReg(4, R_EDI) ); in dis_STOS()
3249 assign( td, getIReg(4, R_EDI) ); in dis_CMPS()
3250 assign( ts, getIReg(4, R_ESI) ); in dis_CMPS()
3252 assign( tdv, loadLE(ty,mkexpr(td)) ); in dis_CMPS()
3253 assign( tsv, loadLE(ty,mkexpr(ts)) ); in dis_CMPS()
3269 assign( ta, getIReg(sz, R_EAX) ); in dis_SCAS()
3270 assign( td, getIReg(4, R_EDI) ); in dis_SCAS()
3272 assign( tdv, loadLE(ty,mkexpr(td)) ); in dis_SCAS()
3291 assign( tc, getIReg(4,R_ECX) ); in dis_REP_op()
3334 assign( tg, getIReg(size, gregOfRM(rm)) ); in dis_mul_E_G()
3336 assign( te, getIReg(size, eregOfRM(rm)) ); in dis_mul_E_G()
3339 assign( te, loadLE(ty,mkexpr(addr)) ); in dis_mul_E_G()
3344 assign( resLo, binop( mkSizedOp(ty, Iop_Mul8), mkexpr(te), mkexpr(tg) ) ); in dis_mul_E_G()
3379 assign(te, getIReg(size, eregOfRM(rm))); in dis_imul_I_E_G()
3383 assign(te, loadLE(ty, mkexpr(addr))); in dis_imul_I_E_G()
3392 assign(tl, mkU(ty,d32)); in dis_imul_I_E_G()
3394 assign( resLo, binop( mkSizedOp(ty, Iop_Mul8), mkexpr(te), mkexpr(tl) )); in dis_imul_I_E_G()
3417 assign(src32, widenUto32( mkexpr(src) )); in gen_LZCNT()
3420 assign(src32x, in gen_LZCNT()
3427 assign(res32, in gen_LZCNT()
3435 assign(res, narrowTo(ty, mkexpr(res32))); in gen_LZCNT()
3615 assign(old_tag, get_ST_TAG(i)); in maybe_put_ST()
3617 assign(new_tag, in maybe_put_ST()
3621 assign(old_val, get_ST_UNCHECKED(i)); in maybe_put_ST()
3623 assign(new_val, in maybe_put_ST()
3695 assign(i64, unop(Iop_ReinterpF64asI64, mkexpr(d64)) ); in math_IS_TRIG_ARG_FINITE_AND_IN_RANGE()
3697 assign(exponent, in math_IS_TRIG_ARG_FINITE_AND_IN_RANGE()
3702 assign(in_range_and_finite, in math_IS_TRIG_ARG_FINITE_AND_IN_RANGE()
4094 assign( t64, mkIRExprCCall( in dis_FPU()
4106 assign( ew, unop(Iop_64HIto32, mkexpr(t64) ) ); in dis_FPU()
4194 assign(t1, get_ST(r_src)); in dis_FPU()
4204 assign(t1, get_ST(0)); in dis_FPU()
4205 assign(t2, get_ST(r_src)); in dis_FPU()
4328 assign(argD, get_ST(0)); in dis_FPU()
4331 assign(resD, in dis_FPU()
4369 assign( argF, get_ST(0) ); in dis_FPU()
4370 assign( argI, unop(Iop_ReinterpF64asI64, mkexpr(argF))); in dis_FPU()
4371 assign( sigI, in dis_FPU()
4379 assign( expI, in dis_FPU()
4387 assign( sigF, unop(Iop_ReinterpI64asF64, mkexpr(sigI)) ); in dis_FPU()
4388 assign( expF, unop(Iop_ReinterpI64asF64, mkexpr(expI)) ); in dis_FPU()
4403 assign( a1, get_ST(0) ); in dis_FPU()
4404 assign( a2, get_ST(1) ); in dis_FPU()
4429 assign( a1, get_ST(0) ); in dis_FPU()
4430 assign( a2, get_ST(1) ); in dis_FPU()
4465 assign(argD, get_ST(0)); in dis_FPU()
4468 assign(resD, in dis_FPU()
4510 assign(argD, get_ST(0)); in dis_FPU()
4513 assign(resD, in dis_FPU()
5459 assign(t16, get_FPU_sw()); in dis_FPU()
5676 assign(res, binop(op, argL, argR)); in dis_MMXop_regmem_to_reg()
5680 assign( res, in dis_MMXop_regmem_to_reg()
5717 assign( amt, unop(Iop_64to32, getMMXReg(eregOfRM(rm))) ); in dis_MMX_shiftG_byE()
5724 assign( amt, loadLE(Ity_I32, mkexpr(addr)) ); in dis_MMX_shiftG_byE()
5730 assign( g0, getMMXReg(gregOfRM(rm)) ); in dis_MMX_shiftG_byE()
5731 assign( amt8, unop(Iop_32to8, mkexpr(amt)) ); in dis_MMX_shiftG_byE()
5748 assign( in dis_MMX_shiftG_byE()
5758 assign( in dis_MMX_shiftG_byE()
5796 assign( e0, getMMXReg(eregOfRM(rm)) ); in dis_MMX_shiftE_imm()
5813 assign( e1, amt >= size in dis_MMX_shiftE_imm()
5819 assign( e1, amt >= size in dis_MMX_shiftE_imm()
6139 assign( addr, handleSegOverride( sorb, getIReg(4, R_EDI) )); in dis_MMX()
6140 assign( regM, getMMXReg( eregOfRM(modrm) )); in dis_MMX()
6141 assign( regD, getMMXReg( gregOfRM(modrm) )); in dis_MMX()
6142 assign( mask, binop(Iop_SarN8x8, mkexpr(regM), mkU8(7)) ); in dis_MMX()
6143 assign( olddata, loadLE( Ity_I64, mkexpr(addr) )); in dis_MMX()
6144 assign( newdata, in dis_MMX()
6220 assign( gsrc, getIReg(sz, gregOfRM(modrm)) ); in dis_SHLRD_Gv_Ev()
6224 assign( esrc, getIReg(sz, eregOfRM(modrm)) ); in dis_SHLRD_Gv_Ev()
6232 assign( esrc, loadLE(ty, mkexpr(addr)) ); in dis_SHLRD_Gv_Ev()
6263 assign( tmpSH, binop(Iop_And8, shift_amt, mask) ); in dis_SHLRD_Gv_Ev()
6266 assign( tmpL, binop(mkpair, mkexpr(esrc), mkexpr(gsrc)) ); in dis_SHLRD_Gv_Ev()
6268 assign( tmpL, binop(mkpair, mkexpr(gsrc), mkexpr(esrc)) ); in dis_SHLRD_Gv_Ev()
6270 assign( tmpRes, unop(getres, binop(shift, mkexpr(tmpL), mkexpr(tmpSH)) ) ); in dis_SHLRD_Gv_Ev()
6271 assign( tmpSubSh, in dis_SHLRD_Gv_Ev()
6336 assign( t_bitno0, widenSto32(getIReg(sz, gregOfRM(modrm))) ); in dis_bt_G_E()
6349 assign( t_esp, binop(Iop_Sub32, getIReg(4, R_ESP), mkU32(128)) ); in dis_bt_G_E()
6355 assign( t_addr0, mkexpr(t_esp) ); in dis_bt_G_E()
6359 assign( t_bitno1, binop(Iop_And32, in dis_bt_G_E()
6366 assign( t_bitno1, mkexpr(t_bitno0) ); in dis_bt_G_E()
6375 assign( t_addr1, in dis_bt_G_E()
6382 assign( t_bitno2, in dis_bt_G_E()
6390 assign( t_mask, binop(Iop_Shl8, mkU8(1), mkexpr(t_bitno2)) ); in dis_bt_G_E()
6395 assign( t_fetched, loadLE(Ity_I8, mkexpr(t_addr1)) ); in dis_bt_G_E()
6400 assign( t_new, in dis_bt_G_E()
6404 assign( t_new, in dis_bt_G_E()
6408 assign( t_new, in dis_bt_G_E()
6479 assign( src, getIReg(sz, eregOfRM(modrm)) ); in dis_bs_E_G()
6484 assign( src, loadLE(ty, mkexpr(addr)) ); in dis_bs_E_G()
6498 assign( srcB, binop(mkSizedOp(ty,Iop_ExpCmpNE8), in dis_bs_E_G()
6537 assign( src32, unop(Iop_16Uto32, mkexpr(src)) ); in dis_bs_E_G()
6539 assign( src32, mkexpr(src) ); in dis_bs_E_G()
6542 assign( dst32, in dis_bs_E_G()
6556 assign( dst, unop(Iop_32to16, mkexpr(dst32)) ); in dis_bs_E_G()
6558 assign( dst, mkexpr(dst32) ); in dis_bs_E_G()
6574 assign( t1, getIReg(sz, R_EAX) ); in codegen_xchg_eAX_Reg()
6575 assign( t2, getIReg(sz, reg) ); in codegen_xchg_eAX_Reg()
6594 assign( oldflags, mk_x86g_calculate_eflags_all() ); in codegen_SAHF()
6623 assign( flags, mk_x86g_calculate_eflags_all() ); in codegen_LAHF()
6668 assign( dest, getIReg(size, eregOfRM(rm)) ); in dis_cmpxchg_G_E()
6670 assign( src, getIReg(size, gregOfRM(rm)) ); in dis_cmpxchg_G_E()
6671 assign( acc, getIReg(size, R_EAX) ); in dis_cmpxchg_G_E()
6673 assign( cond, mk_x86g_calculate_condition(X86CondZ) ); in dis_cmpxchg_G_E()
6674 assign( dest2, IRExpr_ITE(mkexpr(cond), mkexpr(src), mkexpr(dest)) ); in dis_cmpxchg_G_E()
6675 assign( acc2, IRExpr_ITE(mkexpr(cond), mkexpr(acc), mkexpr(dest)) ); in dis_cmpxchg_G_E()
6685 assign( dest, loadLE(ty, mkexpr(addr)) ); in dis_cmpxchg_G_E()
6687 assign( src, getIReg(size, gregOfRM(rm)) ); in dis_cmpxchg_G_E()
6688 assign( acc, getIReg(size, R_EAX) ); in dis_cmpxchg_G_E()
6690 assign( cond, mk_x86g_calculate_condition(X86CondZ) ); in dis_cmpxchg_G_E()
6691 assign( dest2, IRExpr_ITE(mkexpr(cond), mkexpr(src), mkexpr(dest)) ); in dis_cmpxchg_G_E()
6692 assign( acc2, IRExpr_ITE(mkexpr(cond), mkexpr(acc), mkexpr(dest)) ); in dis_cmpxchg_G_E()
6706 assign( src, getIReg(size, gregOfRM(rm)) ); in dis_cmpxchg_G_E()
6707 assign( acc, getIReg(size, R_EAX) ); in dis_cmpxchg_G_E()
6713 assign( cond, mk_x86g_calculate_condition(X86CondZ) ); in dis_cmpxchg_G_E()
6714 assign( acc2, IRExpr_ITE(mkexpr(cond), mkexpr(acc), mkexpr(dest)) ); in dis_cmpxchg_G_E()
6757 assign( tmps, getIReg(sz, eregOfRM(rm)) ); in dis_cmov_E_G()
6758 assign( tmpd, getIReg(sz, gregOfRM(rm)) ); in dis_cmov_E_G()
6775 assign( tmps, loadLE(ty, mkexpr(addr)) ); in dis_cmov_E_G()
6776 assign( tmpd, getIReg(sz, gregOfRM(rm)) ); in dis_cmov_E_G()
6819 assign( tmpd, getIReg(sz, eregOfRM(rm))); in dis_xadd_G_E()
6820 assign( tmpt0, getIReg(sz, gregOfRM(rm)) ); in dis_xadd_G_E()
6821 assign( tmpt1, binop(mkSizedOp(ty,Iop_Add8), in dis_xadd_G_E()
6835 assign( tmpd, loadLE(ty, mkexpr(addr)) ); in dis_xadd_G_E()
6836 assign( tmpt0, getIReg(sz, gregOfRM(rm)) ); in dis_xadd_G_E()
6837 assign( tmpt1, binop(mkSizedOp(ty,Iop_Add8), in dis_xadd_G_E()
6850 assign( tmpd, loadLE(ty, mkexpr(addr)) ); in dis_xadd_G_E()
6851 assign( tmpt0, getIReg(sz, gregOfRM(rm)) ); in dis_xadd_G_E()
6852 assign( tmpt1, binop(mkSizedOp(ty,Iop_Add8), in dis_xadd_G_E()
6928 assign( t1, getSReg(sreg) ); in dis_push_segreg()
6929 assign( ta, binop(Iop_Sub32, getIReg(4, R_ESP), mkU32(sz)) ); in dis_push_segreg()
6943 assign( ta, getIReg(4, R_ESP) ); in dis_pop_segreg()
6944 assign( t1, loadLE(Ity_I16, mkexpr(ta)) ); in dis_pop_segreg()
6956 assign(t1, getIReg(4,R_ESP)); in dis_ret()
6957 assign(t2, loadLE(Ity_I32,mkexpr(t1))); in dis_ret()
7079 assign( epart, unop( Iop_32UtoV128, in dis_SSE_E_to_G_lo32()
7114 assign( epart, unop( Iop_64UtoV128, in dis_SSE_E_to_G_lo64()
7181 assign( oldG0, getXMMReg(gregOfRM(rm)) ); in dis_SSE_E_to_G_unary_lo32()
7184 assign( oldG1, in dis_SSE_E_to_G_unary_lo32()
7195 assign( oldG1, in dis_SSE_E_to_G_unary_lo32()
7224 assign( oldG0, getXMMReg(gregOfRM(rm)) ); in dis_SSE_E_to_G_unary_lo64()
7227 assign( oldG1, in dis_SSE_E_to_G_unary_lo64()
7238 assign( oldG1, in dis_SSE_E_to_G_unary_lo64()
7357 assign( plain, binop(op, getXMMReg(gregOfRM(rm)), in dis_SSEcmp_E_to_G()
7368 assign( plain, in dis_SSEcmp_E_to_G()
7418 assign( amt, getXMMRegLane32(eregOfRM(rm), 0) ); in dis_SSE_shiftG_byE()
7425 assign( amt, loadLE(Ity_I32, mkexpr(addr)) ); in dis_SSE_shiftG_byE()
7431 assign( g0, getXMMReg(gregOfRM(rm)) ); in dis_SSE_shiftG_byE()
7432 assign( amt8, unop(Iop_32to8, mkexpr(amt)) ); in dis_SSE_shiftG_byE()
7449 assign( in dis_SSE_shiftG_byE()
7459 assign( in dis_SSE_shiftG_byE()
7495 assign( e0, getXMMReg(eregOfRM(rm)) ); in dis_SSE_shiftE_imm()
7512 assign( e1, amt >= size in dis_SSE_shiftE_imm()
7518 assign( e1, amt >= size in dis_SSE_shiftE_imm()
7556 assign( hi64, unop(Iop_V128HIto64, mkexpr(t128)) ); in breakup128to32s()
7557 assign( lo64, unop(Iop_V128to64, mkexpr(t128)) ); in breakup128to32s()
7568 assign( *t0, unop(Iop_64to32, mkexpr(lo64)) ); in breakup128to32s()
7569 assign( *t1, unop(Iop_64HIto32, mkexpr(lo64)) ); in breakup128to32s()
7570 assign( *t2, unop(Iop_64to32, mkexpr(hi64)) ); in breakup128to32s()
7571 assign( *t3, unop(Iop_64HIto32, mkexpr(hi64)) ); in breakup128to32s()
7595 assign( hi32, unop(Iop_64HIto32, mkexpr(t64)) ); in breakup64to16s()
7596 assign( lo32, unop(Iop_64to32, mkexpr(t64)) ); in breakup64to16s()
7607 assign( *t0, unop(Iop_32to16, mkexpr(lo32)) ); in breakup64to16s()
7608 assign( *t1, unop(Iop_32HIto16, mkexpr(lo32)) ); in breakup64to16s()
7609 assign( *t2, unop(Iop_32to16, mkexpr(hi32)) ); in breakup64to16s()
7610 assign( *t3, unop(Iop_32HIto16, mkexpr(hi32)) ); in breakup64to16s()
7732 assign(aa, aax); in dis_PMULHRSW_helper()
7733 assign(bb, bbx); in dis_PMULHRSW_helper()
7734 assign( aahi32s, in dis_PMULHRSW_helper()
7738 assign( aalo32s, in dis_PMULHRSW_helper()
7742 assign( bbhi32s, in dis_PMULHRSW_helper()
7746 assign( bblo32s, in dis_PMULHRSW_helper()
7750 assign(one32x2, mkU64( (1ULL << 32) + 1 )); in dis_PMULHRSW_helper()
7751 assign( in dis_PMULHRSW_helper()
7767 assign( in dis_PMULHRSW_helper()
7812 assign( aa, aax ); in dis_PSIGN_helper()
7813 assign( bb, bbx ); in dis_PSIGN_helper()
7814 assign( zero, mkU64(0) ); in dis_PSIGN_helper()
7815 assign( bbNeg, binop(opSub, mkexpr(zero), mkexpr(bb)) ); in dis_PSIGN_helper()
7816 assign( negMask, binop(opCmpGTS, mkexpr(zero), mkexpr(aa)) ); in dis_PSIGN_helper()
7817 assign( posMask, binop(opCmpGTS, mkexpr(aa), mkexpr(zero)) ); in dis_PSIGN_helper()
7852 assign( aa, aax ); in dis_PABS_helper()
7853 assign( negMask, binop(opSarN, mkexpr(aa), mkU8(8*laneszB-1)) ); in dis_PABS_helper()
7854 assign( posMask, unop(Iop_Not64, mkexpr(negMask)) ); in dis_PABS_helper()
7855 assign( zero, mkU64(0) ); in dis_PABS_helper()
7856 assign( aaNeg, binop(opSub, mkexpr(zero), mkexpr(aa)) ); in dis_PABS_helper()
8026 assign( t2, in math_BSWAP()
8044 assign(t2, in math_BSWAP()
8160 assign(t1, getIReg(4,R_EAX)); in disInstr_X86_WRK()
8162 assign(t2, binop(Iop_Sub32, getIReg(4,R_ESP), mkU32(4))); in disInstr_X86_WRK()
8531 assign( argR, getXMMRegLane32F( eregOfRM(modrm), 0/*lowest lane*/ ) ); in disInstr_X86_WRK()
8537 assign( argR, loadLE(Ity_F32, mkexpr(addr)) ); in disInstr_X86_WRK()
8542 assign( argL, getXMMRegLane32F( gregOfRM(modrm), 0/*lowest lane*/ ) ); in disInstr_X86_WRK()
8570 assign( arg64, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
8576 assign( arg64, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
8582 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
8610 assign( arg32, getIReg(4, eregOfRM(modrm)) ); in disInstr_X86_WRK()
8616 assign( arg32, loadLE(Ity_I32, mkexpr(addr)) ); in disInstr_X86_WRK()
8622 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
8649 assign(f32lo, getXMMRegLane32F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
8650 assign(f32hi, getXMMRegLane32F(eregOfRM(modrm), 1)); in disInstr_X86_WRK()
8656 assign(f32lo, loadLE(Ity_F32, mkexpr(addr))); in disInstr_X86_WRK()
8657 assign(f32hi, loadLE(Ity_F32, binop( Iop_Add32, in disInstr_X86_WRK()
8667 assign(rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
8669 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
8672 assign( in disInstr_X86_WRK()
8702 assign(f32lo, getXMMRegLane32F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
8708 assign(f32lo, loadLE(Ity_F32, mkexpr(addr))); in disInstr_X86_WRK()
8716 assign( rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
8718 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
8766 assign( t64, mkIRExprCCall( in disInstr_X86_WRK()
8775 assign( ew, unop(Iop_64HIto32, mkexpr(t64) ) ); in disInstr_X86_WRK()
8853 assign(sV, getMMXReg(eregOfRM(modrm))); in disInstr_X86_WRK()
8856 case 0: assign(t5, mkexpr(t0)); break; in disInstr_X86_WRK()
8857 case 1: assign(t5, mkexpr(t1)); break; in disInstr_X86_WRK()
8858 case 2: assign(t5, mkexpr(t2)); break; in disInstr_X86_WRK()
8859 case 3: assign(t5, mkexpr(t3)); break; in disInstr_X86_WRK()
8886 assign(t5, getMMXReg(gregOfRM(modrm))); in disInstr_X86_WRK()
8890 assign(t4, getIReg(2, eregOfRM(modrm))); in disInstr_X86_WRK()
8900 assign(t4, loadLE(Ity_I16, mkexpr(addr))); in disInstr_X86_WRK()
8907 case 0: assign(t6, mk64from16s(t3,t2,t1,t4)); break; in disInstr_X86_WRK()
8908 case 1: assign(t6, mk64from16s(t3,t2,t4,t0)); break; in disInstr_X86_WRK()
8909 case 2: assign(t6, mk64from16s(t3,t4,t1,t0)); break; in disInstr_X86_WRK()
8910 case 3: assign(t6, mk64from16s(t4,t2,t1,t0)); break; in disInstr_X86_WRK()
8963 assign(t0, getMMXReg(eregOfRM(modrm))); in disInstr_X86_WRK()
8964 assign(t1, unop(Iop_8Uto32, unop(Iop_GetMSBs8x8, mkexpr(t0)))); in disInstr_X86_WRK()
9053 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9061 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
9072 assign(dV, in disInstr_X86_WRK()
9253 assign( t0, binop( Iop_And32, in disInstr_X86_WRK()
9256 assign( t1, binop( Iop_And32, in disInstr_X86_WRK()
9259 assign( t2, binop( Iop_And32, in disInstr_X86_WRK()
9262 assign( t3, binop( Iop_And32, in disInstr_X86_WRK()
9400 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
9403 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9411 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9501 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
9504 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9511 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9596 assign( argR, getXMMRegLane64F( eregOfRM(modrm), 0/*lowest lane*/ ) ); in disInstr_X86_WRK()
9602 assign( argR, loadLE(Ity_F64, mkexpr(addr)) ); in disInstr_X86_WRK()
9607 assign( argL, getXMMRegLane64F( gregOfRM(modrm), 0/*lowest lane*/ ) ); in disInstr_X86_WRK()
9631 assign( arg64, getXMMRegLane64(eregOfRM(modrm), 0) ); in disInstr_X86_WRK()
9637 assign( arg64, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
9664 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9670 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9676 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9702 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9708 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9714 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9717 assign( t0, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
9719 assign( t1, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
9752 assign(f64lo, getXMMRegLane64F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
9753 assign(f64hi, getXMMRegLane64F(eregOfRM(modrm), 1)); in disInstr_X86_WRK()
9759 assign(f64lo, loadLE(Ity_F64, mkexpr(addr))); in disInstr_X86_WRK()
9760 assign(f64hi, loadLE(Ity_F64, binop( Iop_Add32, in disInstr_X86_WRK()
9770 assign(rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
9772 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9775 assign( in disInstr_X86_WRK()
9798 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9804 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9810 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9813 assign( t0, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
9815 assign( t1, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
9846 assign( arg64, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9852 assign( arg64, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
9879 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
9885 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
9891 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9920 assign( f32lo, getXMMRegLane32F(eregOfRM(modrm), 0) ); in disInstr_X86_WRK()
9921 assign( f32hi, getXMMRegLane32F(eregOfRM(modrm), 1) ); in disInstr_X86_WRK()
9927 assign( f32lo, loadLE(Ity_F32, mkexpr(addr)) ); in disInstr_X86_WRK()
9928 assign( f32hi, loadLE(Ity_F32, in disInstr_X86_WRK()
9957 assign(f64lo, getXMMRegLane64F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
9963 assign(f64lo, loadLE(Ity_F64, mkexpr(addr))); in disInstr_X86_WRK()
9971 assign( rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
9973 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
9992 assign(f64lo, getXMMRegLane64F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
9997 assign(f64lo, loadLE(Ity_F64, mkexpr(addr))); in disInstr_X86_WRK()
10003 assign( rmode, get_sse_roundingmode() ); in disInstr_X86_WRK()
10020 assign( arg32, getIReg(4, eregOfRM(modrm)) ); in disInstr_X86_WRK()
10026 assign( arg32, loadLE(Ity_I32, mkexpr(addr)) ); in disInstr_X86_WRK()
10048 assign(f32lo, getXMMRegLane32F(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
10053 assign(f32lo, loadLE(Ity_F32, mkexpr(addr))); in disInstr_X86_WRK()
10073 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
10079 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
10085 assign( rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
10089 assign( t0, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
10091 assign( t1, unop(Iop_ReinterpI64asF64, in disInstr_X86_WRK()
10117 assign( argV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
10123 assign( argV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
10129 assign( rmode, mkU32((UInt)Irrm_ZERO) ); in disInstr_X86_WRK()
10451 assign( t0, binop( Iop_And32, in disInstr_X86_WRK()
10454 assign( t1, binop( Iop_And32, in disInstr_X86_WRK()
10477 assign( addr, handleSegOverride( sorb, getIReg(4, R_EDI) )); in disInstr_X86_WRK()
10478 assign( regD, getXMMReg( gregOfRM(modrm) )); in disInstr_X86_WRK()
10483 assign( in disInstr_X86_WRK()
10492 assign( olddata, loadLE( Ity_V128, mkexpr(addr) )); in disInstr_X86_WRK()
10493 assign( newdata, in disInstr_X86_WRK()
10661 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
10664 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
10672 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
10680 assign( d1, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
10681 assign( d0, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
10682 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
10683 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
10740 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
10743 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
10750 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
10757 assign( d1, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
10758 assign( d0, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
10759 assign( s1, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
10760 assign( s0, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
10943 assign(t5, getXMMReg(eregOfRM(modrm))); in disInstr_X86_WRK()
10946 case 0: assign(t4, unop(Iop_32to16, mkexpr(t0))); break; in disInstr_X86_WRK()
10947 case 1: assign(t4, unop(Iop_32HIto16, mkexpr(t0))); break; in disInstr_X86_WRK()
10948 case 2: assign(t4, unop(Iop_32to16, mkexpr(t1))); break; in disInstr_X86_WRK()
10949 case 3: assign(t4, unop(Iop_32HIto16, mkexpr(t1))); break; in disInstr_X86_WRK()
10950 case 4: assign(t4, unop(Iop_32to16, mkexpr(t2))); break; in disInstr_X86_WRK()
10951 case 5: assign(t4, unop(Iop_32HIto16, mkexpr(t2))); break; in disInstr_X86_WRK()
10952 case 6: assign(t4, unop(Iop_32to16, mkexpr(t3))); break; in disInstr_X86_WRK()
10953 case 7: assign(t4, unop(Iop_32HIto16, mkexpr(t3))); break; in disInstr_X86_WRK()
10974 assign(t4, getIReg(2, eregOfRM(modrm))); in disInstr_X86_WRK()
10984 assign(t4, loadLE(Ity_I16, mkexpr(addr))); in disInstr_X86_WRK()
11008 assign( s1V, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11014 assign( s1V, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11019 assign( s2V, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11020 assign( s1Hi, unop(Iop_V128HIto64, mkexpr(s1V)) ); in disInstr_X86_WRK()
11021 assign( s1Lo, unop(Iop_V128to64, mkexpr(s1V)) ); in disInstr_X86_WRK()
11022 assign( s2Hi, unop(Iop_V128HIto64, mkexpr(s2V)) ); in disInstr_X86_WRK()
11023 assign( s2Lo, unop(Iop_V128to64, mkexpr(s2V)) ); in disInstr_X86_WRK()
11024 assign( dHi, mkIRExprCCall( in disInstr_X86_WRK()
11030 assign( dLo, mkIRExprCCall( in disInstr_X86_WRK()
11036 assign( dV, binop(Iop_64HLtoV128, mkexpr(dHi), mkexpr(dLo))) ; in disInstr_X86_WRK()
11077 assign(t0, getXMMRegLane64(eregOfRM(modrm), 0)); in disInstr_X86_WRK()
11078 assign(t1, getXMMRegLane64(eregOfRM(modrm), 1)); in disInstr_X86_WRK()
11080 assign(t5, in disInstr_X86_WRK()
11126 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11129 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11135 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
11141 assign( t0, unop(Iop_64to32, mkexpr(dV)) ); in disInstr_X86_WRK()
11142 assign( t1, unop(Iop_64to32, mkexpr(sV)) ); in disInstr_X86_WRK()
11162 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11165 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11171 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11180 assign( t0, binop( Iop_MullU32, mkexpr(d0), mkexpr(s0)) ); in disInstr_X86_WRK()
11182 assign( t1, binop( Iop_MullU32, mkexpr(d2), mkexpr(s2)) ); in disInstr_X86_WRK()
11207 assign( s1V, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11213 assign( s1V, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11218 assign( s2V, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11219 assign( s1Hi, unop(Iop_V128HIto64, mkexpr(s1V)) ); in disInstr_X86_WRK()
11220 assign( s1Lo, unop(Iop_V128to64, mkexpr(s1V)) ); in disInstr_X86_WRK()
11221 assign( s2Hi, unop(Iop_V128HIto64, mkexpr(s2V)) ); in disInstr_X86_WRK()
11222 assign( s2Lo, unop(Iop_V128to64, mkexpr(s2V)) ); in disInstr_X86_WRK()
11223 assign( dHi, mkIRExprCCall( in disInstr_X86_WRK()
11229 assign( dLo, mkIRExprCCall( in disInstr_X86_WRK()
11235 assign( dV, binop(Iop_64HLtoV128, mkexpr(dHi), mkexpr(dLo))) ; in disInstr_X86_WRK()
11249 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11257 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11268 assign(dV, in disInstr_X86_WRK()
11289 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11297 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11304 assign( sVhi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
11309 assign(dVhi, in disInstr_X86_WRK()
11313 assign(dV, binop( Iop_64HLtoV128, in disInstr_X86_WRK()
11333 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
11341 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11348 assign( sVlo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
11353 assign(dVlo, in disInstr_X86_WRK()
11357 assign(dV, binop( Iop_64HLtoV128, in disInstr_X86_WRK()
11402 assign( sV, getXMMReg(reg) ); in disInstr_X86_WRK()
11403 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
11404 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
11407 assign( lo64r, mkexpr(lo64) ); in disInstr_X86_WRK()
11408 assign( hi64r, mkexpr(hi64) ); in disInstr_X86_WRK()
11412 assign( lo64r, mkU64(0) ); in disInstr_X86_WRK()
11413 assign( hi64r, mkexpr(lo64) ); in disInstr_X86_WRK()
11417 assign( lo64r, mkU64(0) ); in disInstr_X86_WRK()
11418 assign( hi64r, binop( Iop_Shl64, in disInstr_X86_WRK()
11422 assign( lo64r, binop( Iop_Shl64, in disInstr_X86_WRK()
11425 assign( hi64r, in disInstr_X86_WRK()
11434 assign( dV, binop(Iop_64HLtoV128, mkexpr(hi64r), mkexpr(lo64r)) ); in disInstr_X86_WRK()
11532 assign( sV, getXMMReg(reg) ); in disInstr_X86_WRK()
11533 assign( hi64, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
11534 assign( lo64, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
11537 assign( lo64r, mkexpr(lo64) ); in disInstr_X86_WRK()
11538 assign( hi64r, mkexpr(hi64) ); in disInstr_X86_WRK()
11542 assign( hi64r, mkU64(0) ); in disInstr_X86_WRK()
11543 assign( lo64r, mkexpr(hi64) ); in disInstr_X86_WRK()
11547 assign( hi64r, mkU64(0) ); in disInstr_X86_WRK()
11548 assign( lo64r, binop( Iop_Shr64, in disInstr_X86_WRK()
11552 assign( hi64r, binop( Iop_Shr64, in disInstr_X86_WRK()
11555 assign( lo64r, in disInstr_X86_WRK()
11565 assign( dV, binop(Iop_64HLtoV128, mkexpr(hi64r), mkexpr(lo64r)) ); in disInstr_X86_WRK()
11807 assign( sV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11815 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11837 assign( sV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11841 assign ( d0, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
11844 assign( d0, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
11866 assign( eV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11872 assign( eV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11878 assign( gV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11880 assign( rm, get_FAKE_roundingmode() ); /* XXXROUNDINGFIXME */ in disInstr_X86_WRK()
11881 assign( addV, triop(Iop_Add32Fx4, mkexpr(rm), mkexpr(gV), mkexpr(eV)) ); in disInstr_X86_WRK()
11882 assign( subV, triop(Iop_Sub32Fx4, mkexpr(rm), mkexpr(gV), mkexpr(eV)) ); in disInstr_X86_WRK()
11903 assign( eV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11909 assign( eV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11915 assign( gV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11917 assign( rm, get_FAKE_roundingmode() ); /* XXXROUNDINGFIXME */ in disInstr_X86_WRK()
11918 assign( addV, triop(Iop_Add64Fx2, mkexpr(rm), mkexpr(gV), mkexpr(eV)) ); in disInstr_X86_WRK()
11919 assign( subV, triop(Iop_Sub64Fx2, mkexpr(rm), mkexpr(gV), mkexpr(eV)) ); in disInstr_X86_WRK()
11921 assign( a1, unop(Iop_V128HIto64, mkexpr(addV) )); in disInstr_X86_WRK()
11922 assign( s0, unop(Iop_V128to64, mkexpr(subV) )); in disInstr_X86_WRK()
11945 assign( eV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11951 assign( eV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
11957 assign( gV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
11962 assign( leftV, mk128from32s( e2, e0, g2, g0 ) ); in disInstr_X86_WRK()
11963 assign( rightV, mk128from32s( e3, e1, g3, g1 ) ); in disInstr_X86_WRK()
11965 assign( rm, get_FAKE_roundingmode() ); /* XXXROUNDINGFIXME */ in disInstr_X86_WRK()
11989 assign( eV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
11995 assign( eV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12001 assign( gV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12003 assign( e1, unop(Iop_V128HIto64, mkexpr(eV) )); in disInstr_X86_WRK()
12004 assign( e0, unop(Iop_V128to64, mkexpr(eV) )); in disInstr_X86_WRK()
12005 assign( g1, unop(Iop_V128HIto64, mkexpr(gV) )); in disInstr_X86_WRK()
12006 assign( g0, unop(Iop_V128to64, mkexpr(gV) )); in disInstr_X86_WRK()
12008 assign( leftV, binop(Iop_64HLtoV128, mkexpr(e0),mkexpr(g0)) ); in disInstr_X86_WRK()
12009 assign( rightV, binop(Iop_64HLtoV128, mkexpr(e1),mkexpr(g1)) ); in disInstr_X86_WRK()
12011 assign( rm, get_FAKE_roundingmode() ); /* XXXROUNDINGFIXME */ in disInstr_X86_WRK()
12055 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12058 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12064 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12071 assign( sVoddsSX, in disInstr_X86_WRK()
12073 assign( sVevensSX, in disInstr_X86_WRK()
12077 assign( dVoddsZX, in disInstr_X86_WRK()
12079 assign( dVevensZX, in disInstr_X86_WRK()
12106 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12109 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12116 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12123 assign( sVoddsSX, in disInstr_X86_WRK()
12125 assign( sVevensSX, in disInstr_X86_WRK()
12129 assign( dVoddsZX, in disInstr_X86_WRK()
12131 assign( dVevensZX, in disInstr_X86_WRK()
12188 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12191 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12197 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12257 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12260 assign( sV, getXMMReg( eregOfRM(modrm)) ); in disInstr_X86_WRK()
12267 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12273 assign( dHi, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
12274 assign( dLo, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
12275 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12276 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12306 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12309 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12315 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12340 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12343 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12350 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12356 assign( dHi, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
12357 assign( dLo, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
12358 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12359 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12391 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12394 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12400 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12436 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12439 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12446 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12452 assign( dHi, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
12453 assign( dLo, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
12454 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12455 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12488 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12494 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12529 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12536 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12542 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12543 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12564 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12567 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12575 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12584 assign( res, mkexpr(sV) ); in disInstr_X86_WRK()
12587 assign(res, in disInstr_X86_WRK()
12594 assign( res, mkexpr(dV) ); in disInstr_X86_WRK()
12597 assign( res, binop(Iop_Shr64, mkexpr(dV), mkU8(8*(d32-8))) ); in disInstr_X86_WRK()
12600 assign( res, mkU64(0) ); in disInstr_X86_WRK()
12622 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12625 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12634 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12642 assign( dHi, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
12643 assign( dLo, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
12644 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12645 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12648 assign( rHi, mkexpr(sHi) ); in disInstr_X86_WRK()
12649 assign( rLo, mkexpr(sLo) ); in disInstr_X86_WRK()
12652 assign( rHi, dis_PALIGNR_XMM_helper(dLo, sHi, d32) ); in disInstr_X86_WRK()
12653 assign( rLo, dis_PALIGNR_XMM_helper(sHi, sLo, d32) ); in disInstr_X86_WRK()
12656 assign( rHi, mkexpr(dLo) ); in disInstr_X86_WRK()
12657 assign( rLo, mkexpr(sHi) ); in disInstr_X86_WRK()
12660 assign( rHi, dis_PALIGNR_XMM_helper(dHi, dLo, d32-8) ); in disInstr_X86_WRK()
12661 assign( rLo, dis_PALIGNR_XMM_helper(dLo, sHi, d32-8) ); in disInstr_X86_WRK()
12664 assign( rHi, mkexpr(dHi) ); in disInstr_X86_WRK()
12665 assign( rLo, mkexpr(dLo) ); in disInstr_X86_WRK()
12668 assign( rHi, binop(Iop_Shr64, mkexpr(dHi), mkU8(8*(d32-16))) ); in disInstr_X86_WRK()
12669 assign( rLo, dis_PALIGNR_XMM_helper(dHi, dLo, d32-16) ); in disInstr_X86_WRK()
12672 assign( rHi, mkU64(0) ); in disInstr_X86_WRK()
12673 assign( rLo, mkexpr(dHi) ); in disInstr_X86_WRK()
12676 assign( rHi, mkU64(0) ); in disInstr_X86_WRK()
12677 assign( rLo, binop(Iop_Shr64, mkexpr(dHi), mkU8(8*(d32-24))) ); in disInstr_X86_WRK()
12680 assign( rHi, mkU64(0) ); in disInstr_X86_WRK()
12681 assign( rLo, mkU64(0) ); in disInstr_X86_WRK()
12701 assign( dV, getMMXReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12704 assign( sV, getMMXReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12710 assign( sV, loadLE(Ity_I64, mkexpr(addr)) ); in disInstr_X86_WRK()
12755 assign( dV, getXMMReg(gregOfRM(modrm)) ); in disInstr_X86_WRK()
12758 assign( sV, getXMMReg(eregOfRM(modrm)) ); in disInstr_X86_WRK()
12765 assign( sV, loadLE(Ity_V128, mkexpr(addr)) ); in disInstr_X86_WRK()
12771 assign( dHi, unop(Iop_V128HIto64, mkexpr(dV)) ); in disInstr_X86_WRK()
12772 assign( dLo, unop(Iop_V128to64, mkexpr(dV)) ); in disInstr_X86_WRK()
12773 assign( sHi, unop(Iop_V128HIto64, mkexpr(sV)) ); in disInstr_X86_WRK()
12774 assign( sLo, unop(Iop_V128to64, mkexpr(sV)) ); in disInstr_X86_WRK()
12776 assign( sevens, mkU64(0x0707070707070707ULL) ); in disInstr_X86_WRK()
12786 assign( in disInstr_X86_WRK()
12790 assign( in disInstr_X86_WRK()
12796 assign(sAnd7hi, binop(Iop_And64,mkexpr(sHi),mkexpr(sevens))); in disInstr_X86_WRK()
12798 assign( in disInstr_X86_WRK()
12809 assign(rHi, binop(Iop_And64,mkexpr(permdHi),mkexpr(mask0x80hi)) ); in disInstr_X86_WRK()
12813 assign( in disInstr_X86_WRK()
12817 assign( in disInstr_X86_WRK()
12823 assign(sAnd7lo, binop(Iop_And64,mkexpr(sLo),mkexpr(sevens))); in disInstr_X86_WRK()
12825 assign( in disInstr_X86_WRK()
12836 assign(rLo, binop(Iop_And64,mkexpr(permdLo),mkexpr(mask0x80lo)) ); in disInstr_X86_WRK()
12859 assign(src, loadLE(ty, mkexpr(addr))); in disInstr_X86_WRK()
12864 assign(src, getIReg(sz, gregOfRM(modrm))); in disInstr_X86_WRK()
12898 assign( src, in disInstr_X86_WRK()
12910 assign( src, loadLE( isD ? Ity_F64 : Ity_F32, mkexpr(addr) )); in disInstr_X86_WRK()
12922 assign(res, binop(isD ? Iop_RoundF64toInt : Iop_RoundF32toInt, in disInstr_X86_WRK()
12944 assign(src, getIReg(sz, eregOfRM(modrm))); in disInstr_X86_WRK()
12951 assign(src, loadLE(ty, mkexpr(addr))); in disInstr_X86_WRK()
12966 assign(src32, widenUto32(mkexpr(src))); in disInstr_X86_WRK()
12967 assign(res32, widenUto32(mkexpr(res))); in disInstr_X86_WRK()
12970 assign( in disInstr_X86_WRK()
13051 assign(t1, getIReg(4,R_ESP)); in disInstr_X86_WRK()
13052 assign(t2, loadLE(Ity_I32, binop(Iop_Add32,mkexpr(t1),mkU32(0) ))); in disInstr_X86_WRK()
13053 assign(t3, loadLE(Ity_I32, binop(Iop_Add32,mkexpr(t1),mkU32(4) ))); in disInstr_X86_WRK()
13054 assign(t4, loadLE(Ity_I32, binop(Iop_Add32,mkexpr(t1),mkU32(8) ))); in disInstr_X86_WRK()
13087 assign(t1, binop(Iop_Sub32, getIReg(4,R_ESP), mkU32(4))); in disInstr_X86_WRK()
13128 assign(t1, getIReg(4,R_EBP)); in disInstr_X86_WRK()
13132 assign(t2, loadLE(Ity_I32,mkexpr(t1))); in disInstr_X86_WRK()
13152 assign(t1, in disInstr_X86_WRK()
13163 assign(t2, in disInstr_X86_WRK()
13203 assign(t1, in disInstr_X86_WRK()
13213 assign(t2, in disInstr_X86_WRK()
13310 assign( t1, binop(mkSizedOp(ty,Iop_Add8), in disInstr_X86_WRK()
13329 assign( t1, binop(mkSizedOp(ty,Iop_Sub8), in disInstr_X86_WRK()
13617 assign( addr, handleSegOverride(sorb, mkU32(d32)) ); in disInstr_X86_WRK()
13630 assign( addr, handleSegOverride(sorb, mkU32(d32)) ); in disInstr_X86_WRK()
13904 assign(t2, getIReg(4, R_ESP)); in disInstr_X86_WRK()
13905 assign(t1, loadLE(szToITy(sz),mkexpr(t2))); in disInstr_X86_WRK()
13914 assign(t2, getIReg(4, R_ESP)); in disInstr_X86_WRK()
13915 assign(t1, widenUto32(loadLE(szToITy(sz),mkexpr(t2)))); in disInstr_X86_WRK()
13932 assign( t5, getIReg(4, R_ESP) ); in disInstr_X86_WRK()
13965 assign( t1, getIReg(4, R_ESP) ); in disInstr_X86_WRK()
13967 assign( t3, loadLE(ty, mkexpr(t1)) ); in disInstr_X86_WRK()
14010 assign(t1, getIReg(sz, opc-0x50)); in disInstr_X86_WRK()
14011 assign(t2, binop(Iop_Sub32, getIReg(4, R_ESP), mkU32(sz))); in disInstr_X86_WRK()
14027 assign( t1, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) ); in disInstr_X86_WRK()
14041 assign( t1, binop(Iop_Sub32,getIReg(4,R_ESP),mkU32(sz)) ); in disInstr_X86_WRK()
14050 assign( t2, binop(Iop_Or32, in disInstr_X86_WRK()
14057 assign( t3, binop(Iop_Or32, in disInstr_X86_WRK()
14066 assign( t4, binop(Iop_Or32, in disInstr_X86_WRK()
14076 assign( t5, binop(Iop_Or32, in disInstr_X86_WRK()
14104 assign( t0, getIReg(4, R_ESP) ); in disInstr_X86_WRK()
14108 assign( t5, binop(Iop_Sub32, mkexpr(t0), mkU32(8*4)) ); in disInstr_X86_WRK()
14188 assign( t0, mk_x86g_calculate_eflags_all() ); in disInstr_X86_WRK()
14191 assign( t1, binop(Iop_And32, mkexpr(t0), in disInstr_X86_WRK()
14196 assign( t1, binop(Iop_Or32, mkexpr(t0), in disInstr_X86_WRK()
14201 assign( t1, binop(Iop_Xor32, mkexpr(t0), in disInstr_X86_WRK()
14219 assign( t0, binop(Iop_And32, in disInstr_X86_WRK()
14222 assign( t1, binop(Iop_Sar32, in disInstr_X86_WRK()
14359 assign(t1, getIReg(sz, eregOfRM(modrm))); in disInstr_X86_WRK()
14360 assign(t2, getIReg(sz, gregOfRM(modrm))); in disInstr_X86_WRK()
14370 assign( t1, loadLE(ty,mkexpr(addr)) ); in disInstr_X86_WRK()
14371 assign( t2, getIReg(sz,gregOfRM(modrm)) ); in disInstr_X86_WRK()
14417 assign(t1, mkU32( abyte & 0xFF )); in disInstr_X86_WRK()
14424 assign(t1, mkU32( abyte & 0xFF )); in disInstr_X86_WRK()
14430 assign(t1, unop(Iop_16Uto32, getIReg(2, R_EDX))); in disInstr_X86_WRK()
14437 assign(t1, unop(Iop_16Uto32, getIReg(2, R_EDX))); in disInstr_X86_WRK()
14465 assign( t1, mkU32( abyte & 0xFF ) ); in disInstr_X86_WRK()
14472 assign( t1, mkU32( abyte & 0xFF ) ); in disInstr_X86_WRK()
14478 assign( t1, unop(Iop_16Uto32, getIReg(2, R_EDX)) ); in disInstr_X86_WRK()
14485 assign( t1, unop(Iop_16Uto32, getIReg(2, R_EDX)) ); in disInstr_X86_WRK()
14693 assign( t1, getIReg(4, opc-0xC8) ); in disInstr_X86_WRK()
14771 assign( expdHi, getIReg(4,R_EDX) ); in disInstr_X86_WRK()
14772 assign( expdLo, getIReg(4,R_EAX) ); in disInstr_X86_WRK()
14773 assign( dataHi, getIReg(4,R_ECX) ); in disInstr_X86_WRK()
14774 assign( dataLo, getIReg(4,R_EBX) ); in disInstr_X86_WRK()
14785 assign( success, in disInstr_X86_WRK()
14811 assign( flags_old, widenUto32(mk_x86g_calculate_eflags_all())); in disInstr_X86_WRK()
14812 assign( in disInstr_X86_WRK()
15123 assign( t1, unop(Iop_1Uto8,mk_x86g_calculate_condition(opc-0x90)) ); in disInstr_X86_WRK()