H A D | guest_amd64_toIR.c | 681 static Bool IS_VALID_PFX ( Prefix pfx ) { 682 return toBool((pfx & 0xFF000000) == PFX_EMPTY); 685 static Bool haveREX ( Prefix pfx ) { 686 return toBool(pfx & PFX_REX); 689 static Int getRexW ( Prefix pfx ) { 690 return (pfx & PFX_REXW) ? 1 : 0; 692 static Int getRexR ( Prefix pfx ) { 693 return (pfx & PFX_REXR) ? 1 : 0; 695 static Int getRexX ( Prefix pfx ) { 696 return (pfx 1156 getIReg64rexX( Prefix pfx, UInt lo3bits ) argument 1163 nameIReg64rexX( Prefix pfx, UInt lo3bits ) argument 1170 nameIRegRexB( Int sz, Prefix pfx, UInt lo3bits ) argument 1179 getIRegRexB( Int sz, Prefix pfx, UInt lo3bits ) argument 1202 putIRegRexB( Int sz, Prefix pfx, UInt lo3bits, IRExpr* e ) argument 1224 gregOfRexRM( Prefix pfx, UChar mod_reg_rm ) argument 1236 eregOfRexRM( Prefix pfx, UChar mod_reg_rm ) argument 1252 offsetIRegG( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 1263 getIRegG( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 1277 putIRegG( Int sz, Prefix pfx, UChar mod_reg_rm, IRExpr* e ) argument 1287 nameIRegG( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 1299 offsetIRegE( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 1310 getIRegE( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 1324 putIRegE( Int sz, Prefix pfx, UChar mod_reg_rm, IRExpr* e ) argument 1334 nameIRegE( Int sz, Prefix pfx, UChar mod_reg_rm ) argument 2285 handleAddrOverrides( VexAbiInfo* vbi, Prefix pfx, IRExpr* virtual ) argument 2409 disAMode( Int* len, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* buf, Int extra_bytes ) argument 2681 lengthAMode( Prefix pfx, Long delta ) argument 2788 dis_op2_E_G( VexAbiInfo* vbi, Prefix pfx, Bool addSubCarry, IROp op8, Bool keep, Int size, Long delta0, HChar* t_amd64opc ) argument 2904 dis_op2_G_E( VexAbiInfo* vbi, Prefix pfx, Bool addSubCarry, IROp op8, Bool keep, Int size, Long delta0, HChar* t_amd64opc ) argument 3037 dis_mov_E_G( VexAbiInfo* vbi, Prefix pfx, Int size, Long delta0 ) argument 3083 dis_mov_G_E( VexAbiInfo* vbi, Prefix pfx, Int size, Long delta0 ) argument 3164 dis_movx_E_G( VexAbiInfo* vbi, Prefix pfx, Long delta, Int szs, Int szd, Bool sign_extend ) argument 3268 dis_Grp1( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar modrm, Int am_sz, Int d_sz, Int sz, Long d64 ) argument 3378 dis_Grp2( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar modrm, Int am_sz, Int d_sz, Int sz, IRExpr* shift_expr, HChar* shift_expr_txt, Bool* decode_OK ) argument 3648 dis_Grp8_Imm( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar modrm, Int am_sz, Int sz, ULong src_val, Bool* decode_OK ) argument 3839 dis_Grp3( VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta, Bool* decode_OK ) argument 4003 dis_Grp4( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool* decode_OK ) argument 4073 dis_Grp5( VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta, DisResult* dres, Bool* decode_OK ) argument 4452 dis_mul_E_G( VexAbiInfo* vbi, Prefix pfx, Int size, Long delta0 ) argument 4495 dis_imul_I_E_G( VexAbiInfo* vbi, Prefix pfx, Int size, Long delta, Int litsize ) argument 5013 dis_FPU( Bool* decode_ok, VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 6692 dis_MMXop_regmem_to_reg( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar opc, HChar* name, Bool show_granularity ) argument 6842 dis_MMX_shiftG_byE( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 6974 dis_MMX( Bool* decode_ok, VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta ) argument 7412 dis_SHLRD_Gv_Ev( VexAbiInfo* vbi, Prefix pfx, Long delta, UChar modrm, Int sz, IRExpr* shift_amt, Bool amt_is_literal, HChar* shift_amt_txt, Bool left_shift ) argument 7597 dis_bt_G_E( VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta, BtOp op ) argument 7755 dis_bs_E_G( VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta, Bool fwds ) argument 7872 codegen_xchg_rAX_Reg( Prefix pfx, Int sz, UInt regLo3 ) argument 7954 dis_cmpxchg_G_E( Bool* ok, VexAbiInfo* vbi, Prefix pfx, Int size, Long delta0 ) argument 8062 dis_cmov_E_G( VexAbiInfo* vbi, Prefix pfx, Int sz, AMD64Condcode cond, Long delta0 ) argument 8114 dis_xadd_G_E( Bool* decode_ok, VexAbiInfo* vbi, Prefix pfx, Int sz, Long delta0 ) argument 8296 dis_SSE_E_to_G_all_wrk( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op, Bool invertG ) argument 8334 dis_SSE_E_to_G_all( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8344 dis_SSE_E_to_G_all_invG( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8354 dis_SSE_E_to_G_lo32( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8390 dis_SSE_E_to_G_lo64( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8426 dis_SSE_E_to_G_unary_all( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8457 dis_SSE_E_to_G_unary_lo32( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8501 dis_SSE_E_to_G_unary_lo64( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8547 dis_SSEint_E_to_G( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op, Bool eLeft ) argument 8703 dis_SSE_cmp_E_to_G( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, Bool all_lanes, Int sz ) argument 8779 dis_SSE_shiftG_byE( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 8856 dis_SSE_shiftE_imm( Prefix pfx, Long delta, HChar* opname, IROp op ) argument 9508 dis_COMISD( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc ) argument 9551 dis_COMISS( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc ) argument 9596 dis_PSHUFD_32x4( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool writesYmm ) argument 9736 dis_CVTxSD2SI( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc, Int sz ) argument 9784 dis_CVTxSS2SI( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc, Int sz ) argument 9836 dis_CVTPS2PD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 9871 dis_CVTPS2PD_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 9912 dis_CVTPD2PS_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 9957 dis_CVTxPS2DQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool r2zero ) argument 10007 dis_CVTxPS2DQ_256( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool r2zero ) argument 10059 dis_CVTxPD2DQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool r2zero ) argument 10114 dis_CVTxPD2DQ_256( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool r2zero ) argument 10168 dis_CVTDQ2PS_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10216 dis_CVTDQ2PS_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 10269 dis_PMOVMSKB_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10673 dis_PSHUFxW_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool xIsH ) argument 10727 dis_PEXTRW_128_EregOnly_toG( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10766 dis_CVTDQ2PD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10801 dis_STMXCSR( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10833 dis_LDMXCSR( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10937 dis_MASKMOVDQU( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 10980 dis_MOVMSKPS_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 11012 dis_MOVMSKPS_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 11062 dis_MOVMSKPD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 11084 dis_MOVMSKPD_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 11117 dis_ESC_0F__SSE2( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN, DisResult* dres ) argument 14023 dis_MOVDDUP_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 14053 dis_MOVDDUP_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 14085 dis_MOVSxDUP_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool isL ) argument 14119 dis_MOVSxDUP_256( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isL ) argument 14194 dis_ESC_0F__SSE3( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 14470 dis_PHADD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc ) argument 14570 dis_ESC_0F38__SupSSE3( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 15089 dis_ESC_0F3A__SupSSE3( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 15215 dis_ESC_0F__SSE4( Bool* decode_OK, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 15410 dis_VBLENDV_128( VexAbiInfo* vbi, Prefix pfx, Long delta, const HChar *name, UInt gran, IROp opSAR ) argument 15449 dis_VBLENDV_256( VexAbiInfo* vbi, Prefix pfx, Long delta, const HChar *name, UInt gran, IROp opSAR128 ) argument 15588 dis_xTESTy_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Int sign ) argument 15641 dis_xTESTy_256( VexAbiInfo* vbi, Prefix pfx, Long delta, Int sign ) argument 15699 dis_PMOVxXBW_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool xIsZ ) argument 15741 dis_PMOVxXWD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool xIsZ ) argument 15780 dis_PMOVSXWQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 15813 dis_PMOVZXWQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 15850 dis_PMOVxXDQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool xIsZ ) argument 15897 dis_PMOVxXBD_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, Bool xIsZ ) argument 15940 dis_PMOVSXBQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 15973 dis_PMOVZXBQ_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16011 dis_PHMINPOSUW_128( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16051 dis_AESx( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc ) argument 16145 dis_AESKEYGENASSIST( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16214 dis_ESC_0F38__SSE4( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 16722 dis_PEXTRW( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16777 dis_PEXTRD( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16830 dis_PEXTRQ( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 16880 dis_PCMPxSTRx( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx, UChar opc ) argument 17114 dis_PEXTRB_128_GtoE( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 17283 dis_EXTRACTPS( VexAbiInfo* vbi, Prefix pfx, Long delta, Bool isAvx ) argument 17361 dis_ESC_0F3A__SSE4( Bool* decode_OK, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 18042 dis_ESC_NONE( DisResult* dres, Bool* expect_CAS, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 19650 dis_ESC_0F( DisResult* dres, Bool* expect_CAS, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 20439 dis_ESC_0F38( DisResult* dres, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 20524 dis_ESC_0F3A( DisResult* dres, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 20576 dis_VEX_NDS_128_AnySimdPfx_0F_WIG( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* name, IROp op, IRTemp(*opFn)(IRTemp,IRTemp), Bool invertLeftArg, Bool swapArgs ) argument 20635 dis_VEX_NDS_128_AnySimdPfx_0F_WIG_simple( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* name, IROp op ) argument 20650 dis_VEX_NDS_128_AnySimdPfx_0F_WIG_complex( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* name, IRTemp(*opFn)(IRTemp,IRTemp) ) argument 20664 dis_AVX128_shiftV_byE( VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20741 dis_AVX128_shiftE_to_V_imm( Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20802 dis_AVX128_E_V_to_G_lo64( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20845 dis_AVX128_E_V_to_G_lo64_unary( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20892 dis_AVX128_E_V_to_G_lo32_unary( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20939 dis_AVX128_E_V_to_G_lo32( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20979 dis_AVX128_E_V_to_G( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 20995 dis_AVX128_cmp_V_E_to_G( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, Bool all_lanes, Int sz ) argument 21105 dis_AVX256_cmp_V_E_to_G( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, Int sz ) argument 21175 dis_AVX128_E_to_G_unary( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IRTemp (*opFn)(IRTemp) ) argument 21208 dis_AVX128_E_to_G_unary_all( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 21238 dis_VEX_NDS_256_AnySimdPfx_0F_WIG( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* name, IROp op, IRTemp(*opFn)(IRTemp,IRTemp), Bool invertLeftArg, Bool swapArgs ) argument 21296 dis_AVX256_E_V_to_G( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 21312 dis_VEX_NDS_256_AnySimdPfx_0F_WIG_complex( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* name, IRTemp(*opFn)(IRTemp,IRTemp) ) argument 21326 dis_AVX256_E_to_G_unary_all( Bool* uses_vvvv, VexAbiInfo* vbi, Prefix pfx, Long delta, HChar* opname, IROp op ) argument 21356 dis_CVTDQ2PD_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 21392 dis_CVTPD2PS_256( VexAbiInfo* vbi, Prefix pfx, Long delta ) argument 21432 dis_ESC_0F__VEX( DisResult* dres, Bool* uses_vvvv, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 24522 dis_ESC_0F38__VEX( DisResult* dres, Bool* uses_vvvv, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 25266 dis_ESC_0F3A__VEX( DisResult* dres, Bool* uses_vvvv, Bool (*resteerOkFn) ( void*, Addr64 ), Bool resteerCisOk, void* callback_opaque, VexArchInfo* archinfo, VexAbiInfo* vbi, Prefix pfx, Int sz, Long deltaIN ) argument 26481 Prefix pfx = PFX_EMPTY; local [all...] |