Lines Matching refs:delta
338 static UChar getIByte ( Int delta ) in getIByte() argument
340 return guest_code[delta]; in getIByte()
365 static UChar getUChar ( Int delta ) in getUChar() argument
367 UChar v = guest_code[delta+0]; in getUChar()
371 static UInt getUDisp16 ( Int delta ) in getUDisp16() argument
373 UInt v = guest_code[delta+1]; v <<= 8; in getUDisp16()
374 v |= guest_code[delta+0]; in getUDisp16()
378 static UInt getUDisp32 ( Int delta ) in getUDisp32() argument
380 UInt v = guest_code[delta+3]; v <<= 8; in getUDisp32()
381 v |= guest_code[delta+2]; v <<= 8; in getUDisp32()
382 v |= guest_code[delta+1]; v <<= 8; in getUDisp32()
383 v |= guest_code[delta+0]; in getUDisp32()
387 static UInt getUDisp ( Int size, Int delta ) in getUDisp() argument
390 case 4: return getUDisp32(delta); in getUDisp()
391 case 2: return getUDisp16(delta); in getUDisp()
392 case 1: return (UInt)getUChar(delta); in getUDisp()
401 static UInt getSDisp8 ( Int delta ) in getSDisp8() argument
403 return extend_s_8to32( (UInt) (guest_code[delta]) ); in getSDisp8()
414 static UInt getSDisp ( Int size, Int delta ) in getSDisp() argument
417 case 4: return getUDisp32(delta); in getSDisp()
418 case 2: return getSDisp16(delta); in getSDisp()
419 case 1: return getSDisp8(delta); in getSDisp()
1505 IRTemp disAMode ( Int* len, UChar sorb, Int delta, HChar* buf ) in disAMode() argument
1507 UChar mod_reg_rm = getIByte(delta); in disAMode()
1508 delta++; in disAMode()
1539 UInt d = getSDisp8(delta); in disAMode()
1553 UInt d = getUDisp32(delta); in disAMode()
1570 { UInt d = getUDisp32(delta); in disAMode()
1597 UChar sib = getIByte(delta); in disAMode()
1601 delta++; in disAMode()
1617 UInt d = getUDisp32(delta); in disAMode()
1637 UInt d = getUDisp32(delta); in disAMode()
1657 UChar sib = getIByte(delta); in disAMode()
1661 UInt d = getSDisp8(delta+1); in disAMode()
1698 UChar sib = getIByte(delta); in disAMode()
1702 UInt d = getUDisp32(delta+1); in disAMode()
1740 static UInt lengthAMode ( Int delta ) in lengthAMode() argument
1742 UChar mod_reg_rm = getIByte(delta); delta++; in lengthAMode()
1778 UChar sib = getIByte(delta); in lengthAMode()
2147 Int delta, in dis_op_imm_A() argument
2154 UInt lit = getUDisp(size,delta); in dis_op_imm_A()
2186 return delta+size; in dis_op_imm_A()
2193 Int delta, Int szs, Int szd, Bool sign_extend ) in dis_movx_E_G() argument
2195 UChar rm = getIByte(delta); in dis_movx_E_G()
2211 return 1+delta; in dis_movx_E_G()
2218 IRTemp addr = disAMode ( &len, sorb, delta, dis_buf ); in dis_movx_E_G()
2232 return len+delta; in dis_movx_E_G()
2285 Int delta, UChar modrm, in dis_Grp1() argument
2332 delta += (am_sz + d_sz); in dis_Grp1()
2336 addr = disAMode ( &len, sorb, delta, dis_buf); in dis_Grp1()
2379 delta += (len+d_sz); in dis_Grp1()
2383 return delta; in dis_Grp1()
2392 Int delta, UChar modrm, in dis_Grp2() argument
2412 delta += (am_sz + d_sz); in dis_Grp2()
2414 addr = disAMode ( &len, sorb, delta, dis_buf); in dis_Grp2()
2416 delta += len + d_sz; in dis_Grp2()
2623 return delta; in dis_Grp2()
2631 Int delta, UChar modrm, in dis_Grp8_Imm() argument
2654 default: *decode_OK = False; return delta; in dis_Grp8_Imm()
2667 default: *decode_OK = False; return delta; in dis_Grp8_Imm()
2675 delta += (am_sz + 1); in dis_Grp8_Imm()
2680 t_addr = disAMode ( &len, sorb, delta, dis_buf); in dis_Grp8_Imm()
2681 delta += (len+1); in dis_Grp8_Imm()
2737 return delta; in dis_Grp8_Imm()
2804 UInt dis_Grp3 ( UChar sorb, Bool locked, Int sz, Int delta, Bool* decode_OK ) in dis_Grp3() argument
2817 modrm = getIByte(delta); in dis_Grp3()
2822 return delta; in dis_Grp3()
2828 delta++; d32 = getUDisp(sz, delta); delta += sz; in dis_Grp3()
2846 delta++; in dis_Grp3()
2853 delta++; in dis_Grp3()
2865 delta++; in dis_Grp3()
2871 delta++; in dis_Grp3()
2877 delta++; in dis_Grp3()
2883 delta++; in dis_Grp3()
2893 addr = disAMode ( &len, sorb, delta, dis_buf ); in dis_Grp3()
2895 delta += len; in dis_Grp3()
2899 d32 = getUDisp(sz, delta); delta += sz; in dis_Grp3()
2958 return delta; in dis_Grp3()
2964 UInt dis_Grp4 ( UChar sorb, Bool locked, Int delta, Bool* decode_OK ) in dis_Grp4() argument
2975 modrm = getIByte(delta); in dis_Grp4()
2980 return delta; in dis_Grp4()
2998 return delta; in dis_Grp4()
3000 delta++; in dis_Grp4()
3004 IRTemp addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_Grp4()
3029 return delta; in dis_Grp4()
3031 delta += alen; in dis_Grp4()
3034 return delta; in dis_Grp4()
3040 UInt dis_Grp5 ( UChar sorb, Bool locked, Int sz, Int delta, in dis_Grp5() argument
3053 modrm = getIByte(delta); in dis_Grp5()
3058 return delta; in dis_Grp5()
3085 storeLE( mkexpr(t2), mkU32(guest_EIP_bbstart+delta+1)); in dis_Grp5()
3103 return delta; in dis_Grp5()
3105 delta++; in dis_Grp5()
3109 addr = disAMode ( &len, sorb, delta, dis_buf ); in dis_Grp5()
3141 storeLE( mkexpr(t2), mkU32(guest_EIP_bbstart+delta+len)); in dis_Grp5()
3159 return delta; in dis_Grp5()
3161 delta += len; in dis_Grp5()
3165 return delta; in dis_Grp5()
3367 Int delta, in dis_imul_I_E_G() argument
3372 UChar rm = getIByte(delta); in dis_imul_I_E_G()
3382 delta++; in dis_imul_I_E_G()
3384 IRTemp addr = disAMode( &alen, sorb, delta, dis_buf ); in dis_imul_I_E_G()
3386 delta += alen; in dis_imul_I_E_G()
3388 d32 = getSDisp(litsize,delta); in dis_imul_I_E_G()
3389 delta += litsize; in dis_imul_I_E_G()
3405 return delta; in dis_imul_I_E_G()
3848 UInt dis_FPU ( Bool* decode_ok, UChar sorb, Int delta ) in dis_FPU() argument
3857 UChar first_opcode = getIByte(delta-1); in dis_FPU()
3858 UChar modrm = getIByte(delta+0); in dis_FPU()
3867 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
3868 delta += len; in dis_FPU()
3933 delta++; in dis_FPU()
4002 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
4003 delta += len; in dis_FPU()
4074 IRConst_U32( ((Addr32)guest_EIP_bbstart)+delta), in dis_FPU()
4117 IRConst_U32( ((Addr32)guest_EIP_bbstart)+delta), in dis_FPU()
4189 delta++; in dis_FPU()
4545 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
4546 delta += len; in dis_FPU()
4636 delta++; in dis_FPU()
4703 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
4704 delta += len; in dis_FPU()
4797 delta++; in dis_FPU()
4901 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
4902 delta += len; in dis_FPU()
4967 delta++; in dis_FPU()
5009 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
5010 delta += len; in dis_FPU()
5089 IRConst_U32( ((Addr32)guest_EIP_bbstart)+delta), in dis_FPU()
5156 delta++; in dis_FPU()
5226 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
5227 delta += len; in dis_FPU()
5322 delta++; in dis_FPU()
5378 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_FPU()
5379 delta += len; in dis_FPU()
5434 delta++; in dis_FPU()
5487 return delta; in dis_FPU()
5491 return delta; in dis_FPU()
5557 Int delta, in dis_MMXop_regmem_to_reg() argument
5563 UChar modrm = getIByte(delta); in dis_MMXop_regmem_to_reg()
5658 delta++; in dis_MMXop_regmem_to_reg()
5662 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_MMXop_regmem_to_reg()
5663 delta += len; in dis_MMXop_regmem_to_reg()
5698 return delta; in dis_MMXop_regmem_to_reg()
5705 static UInt dis_MMX_shiftG_byE ( UChar sorb, Int delta, in dis_MMX_shiftG_byE() argument
5712 UChar rm = getIByte(delta); in dis_MMX_shiftG_byE()
5723 delta++; in dis_MMX_shiftG_byE()
5725 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_MMX_shiftG_byE()
5730 delta += alen; in dis_MMX_shiftG_byE()
5774 return delta; in dis_MMX_shiftG_byE()
5782 UInt dis_MMX_shiftE_imm ( Int delta, const HChar* opname, IROp op ) in dis_MMX_shiftE_imm() argument
5785 UChar rm = getIByte(delta); in dis_MMX_shiftE_imm()
5792 amt = getIByte(delta+1); in dis_MMX_shiftE_imm()
5793 delta += 2; in dis_MMX_shiftE_imm()
5831 return delta; in dis_MMX_shiftE_imm()
5838 UInt dis_MMX ( Bool* decode_ok, UChar sorb, Int sz, Int delta ) in dis_MMX() argument
5843 UChar opc = getIByte(delta); in dis_MMX()
5844 delta++; in dis_MMX()
5855 modrm = getIByte(delta); in dis_MMX()
5857 delta++; in dis_MMX()
5866 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_MMX()
5867 delta += len; in dis_MMX()
5880 modrm = getIByte(delta); in dis_MMX()
5882 delta++; in dis_MMX()
5888 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_MMX()
5889 delta += len; in dis_MMX()
5900 modrm = getIByte(delta); in dis_MMX()
5902 delta++; in dis_MMX()
5907 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_MMX()
5908 delta += len; in dis_MMX()
5919 modrm = getIByte(delta); in dis_MMX()
5921 delta++; in dis_MMX()
5926 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_MMX()
5927 delta += len; in dis_MMX()
5939 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "padd", True ); in dis_MMX()
5946 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "padds", True ); in dis_MMX()
5953 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "paddus", True ); in dis_MMX()
5961 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "psub", True ); in dis_MMX()
5968 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "psubs", True ); in dis_MMX()
5975 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "psubus", True ); in dis_MMX()
5981 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pmulhw", False ); in dis_MMX()
5987 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pmullw", False ); in dis_MMX()
5992 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pmaddwd", False ); in dis_MMX()
6000 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pcmpeq", True ); in dis_MMX()
6008 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pcmpgt", True ); in dis_MMX()
6014 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "packssdw", False ); in dis_MMX()
6020 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "packsswb", False ); in dis_MMX()
6026 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "packuswb", False ); in dis_MMX()
6034 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "punpckh", True ); in dis_MMX()
6042 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "punpckl", True ); in dis_MMX()
6048 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pand", False ); in dis_MMX()
6054 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pandn", False ); in dis_MMX()
6060 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "por", False ); in dis_MMX()
6066 delta = dis_MMXop_regmem_to_reg ( sorb, delta, opc, "pxor", False ); in dis_MMX()
6070 delta = dis_MMX_shiftG_byE(sorb, delta, _name, _op); \ in dis_MMX()
6096 byte2 = getIByte(delta); /* amode / sub-opcode */ in dis_MMX()
6100 do { delta = dis_MMX_shiftE_imm(delta,_name,_op); \ in dis_MMX()
6136 modrm = getIByte(delta); in dis_MMX()
6139 delta++; in dis_MMX()
6164 return delta; /* ignored */ in dis_MMX()
6169 return delta; in dis_MMX()
6181 Int delta, UChar modrm, in dis_SHLRD_Gv_Ev() argument
6225 delta++; in dis_SHLRD_Gv_Ev()
6232 addr = disAMode ( &len, sorb, delta, dis_buf ); in dis_SHLRD_Gv_Ev()
6233 delta += len; in dis_SHLRD_Gv_Ev()
6292 if (amt_is_literal) delta++; in dis_SHLRD_Gv_Ev()
6293 return delta; in dis_SHLRD_Gv_Ev()
6316 UChar sorb, Bool locked, Int sz, Int delta, BtOp op ) in dis_bt_G_E() argument
6336 modrm = getIByte(delta); in dis_bt_G_E()
6341 delta++; in dis_bt_G_E()
6366 t_addr0 = disAMode ( &len, sorb, delta, dis_buf ); in dis_bt_G_E()
6367 delta += len; in dis_bt_G_E()
6453 return delta; in dis_bt_G_E()
6460 UInt dis_bs_E_G ( UChar sorb, Int sz, Int delta, Bool fwds ) in dis_bs_E_G() argument
6476 modrm = getIByte(delta); in dis_bs_E_G()
6480 delta++; in dis_bs_E_G()
6484 IRTemp addr = disAMode( &len, sorb, delta, dis_buf ); in dis_bs_E_G()
6485 delta += len; in dis_bs_E_G()
6565 return delta; in dis_bs_E_G()
6995 UChar sorb, Int delta, in dis_SSE_E_to_G_all_wrk() argument
7003 UChar rm = getIByte(delta); in dis_SSE_E_to_G_all_wrk()
7020 return delta+1; in dis_SSE_E_to_G_all_wrk()
7022 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_all_wrk()
7035 return delta+alen; in dis_SSE_E_to_G_all_wrk()
7043 UInt dis_SSE_E_to_G_all ( UChar sorb, Int delta, const HChar* opname, IROp op ) in dis_SSE_E_to_G_all() argument
7045 return dis_SSE_E_to_G_all_wrk( sorb, delta, opname, op, False ); in dis_SSE_E_to_G_all()
7051 UInt dis_SSE_E_to_G_all_invG ( UChar sorb, Int delta, in dis_SSE_E_to_G_all_invG() argument
7054 return dis_SSE_E_to_G_all_wrk( sorb, delta, opname, op, True ); in dis_SSE_E_to_G_all_invG()
7060 static UInt dis_SSE_E_to_G_lo32 ( UChar sorb, Int delta, in dis_SSE_E_to_G_lo32() argument
7066 UChar rm = getIByte(delta); in dis_SSE_E_to_G_lo32()
7075 return delta+1; in dis_SSE_E_to_G_lo32()
7080 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_lo32()
7088 return delta+alen; in dis_SSE_E_to_G_lo32()
7095 static UInt dis_SSE_E_to_G_lo64 ( UChar sorb, Int delta, in dis_SSE_E_to_G_lo64() argument
7101 UChar rm = getIByte(delta); in dis_SSE_E_to_G_lo64()
7110 return delta+1; in dis_SSE_E_to_G_lo64()
7115 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_lo64()
7123 return delta+alen; in dis_SSE_E_to_G_lo64()
7131 UChar sorb, Int delta, in dis_SSE_E_to_G_unary_all() argument
7138 UChar rm = getIByte(delta); in dis_SSE_E_to_G_unary_all()
7151 return delta+1; in dis_SSE_E_to_G_unary_all()
7153 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_unary_all()
7162 return delta+alen; in dis_SSE_E_to_G_unary_all()
7170 UChar sorb, Int delta, in dis_SSE_E_to_G_unary_lo32() argument
7179 UChar rm = getIByte(delta); in dis_SSE_E_to_G_unary_lo32()
7194 return delta+1; in dis_SSE_E_to_G_unary_lo32()
7196 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_unary_lo32()
7205 return delta+alen; in dis_SSE_E_to_G_unary_lo32()
7213 UChar sorb, Int delta, in dis_SSE_E_to_G_unary_lo64() argument
7222 UChar rm = getIByte(delta); in dis_SSE_E_to_G_unary_lo64()
7237 return delta+1; in dis_SSE_E_to_G_unary_lo64()
7239 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_E_to_G_unary_lo64()
7248 return delta+alen; in dis_SSE_E_to_G_unary_lo64()
7258 UChar sorb, Int delta, in dis_SSEint_E_to_G() argument
7266 UChar rm = getIByte(delta); in dis_SSEint_E_to_G()
7274 delta += 1; in dis_SSEint_E_to_G()
7276 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSEint_E_to_G()
7281 delta += alen; in dis_SSEint_E_to_G()
7286 return delta; in dis_SSEint_E_to_G()
7344 static UInt dis_SSEcmp_E_to_G ( UChar sorb, Int delta, in dis_SSEcmp_E_to_G() argument
7353 UChar rm = getIByte(delta); in dis_SSEcmp_E_to_G()
7357 imm8 = getIByte(delta+1); in dis_SSEcmp_E_to_G()
7361 delta += 2; in dis_SSEcmp_E_to_G()
7367 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSEcmp_E_to_G()
7368 imm8 = getIByte(delta+alen); in dis_SSEcmp_E_to_G()
7379 delta += alen+1; in dis_SSEcmp_E_to_G()
7400 return delta; in dis_SSEcmp_E_to_G()
7407 static UInt dis_SSE_shiftG_byE ( UChar sorb, Int delta, in dis_SSE_shiftG_byE() argument
7414 UChar rm = getIByte(delta); in dis_SSE_shiftG_byE()
7424 delta++; in dis_SSE_shiftG_byE()
7426 addr = disAMode ( &alen, sorb, delta, dis_buf ); in dis_SSE_shiftG_byE()
7431 delta += alen; in dis_SSE_shiftG_byE()
7475 return delta; in dis_SSE_shiftG_byE()
7482 UInt dis_SSE_shiftE_imm ( Int delta, const HChar* opname, IROp op ) in dis_SSE_shiftE_imm() argument
7485 UChar rm = getIByte(delta); in dis_SSE_shiftE_imm()
7492 amt = getIByte(delta+1); in dis_SSE_shiftE_imm()
7493 delta += 2; in dis_SSE_shiftE_imm()
7530 return delta; in dis_SSE_shiftE_imm()
8095 Int delta = (Int)delta64; in disInstr_X86_WRK() local
8099 Int delta_start = delta; in disInstr_X86_WRK()
8124 vassert(guest_EIP_bbstart + delta == guest_EIP_curr_instr); in disInstr_X86_WRK()
8125 DIP("\t0x%x: ", guest_EIP_bbstart+delta); in disInstr_X86_WRK()
8129 const UChar* code = guest_code + delta; in disInstr_X86_WRK()
8144 delta += 14; in disInstr_X86_WRK()
8145 jmp_lit(&dres, Ijk_ClientReq, guest_EIP_bbstart+delta); in disInstr_X86_WRK()
8153 delta += 14; in disInstr_X86_WRK()
8161 delta += 14; in disInstr_X86_WRK()
8167 storeLE( mkexpr(t2), mkU32(guest_EIP_bbstart+delta)); in disInstr_X86_WRK()
8185 delta += 14; in disInstr_X86_WRK()
8187 stmt( IRStmt_Put( OFFB_EIP, mkU32(guest_EIP_bbstart + delta) ) ); in disInstr_X86_WRK()
8201 const UChar* code = guest_code + delta; in disInstr_X86_WRK()
8207 delta += 5; in disInstr_X86_WRK()
8230 delta += 9 + data16_cnt; in disInstr_X86_WRK()
8269 delta += opcode_index+2; in disInstr_X86_WRK()
8270 modrm = getUChar(delta); in disInstr_X86_WRK()
8272 delta += 1; in disInstr_X86_WRK()
8276 addr = disAMode(&alen, 0/*"no sorb"*/, delta, dis_buf); in disInstr_X86_WRK()
8277 delta += alen - addr_override; in disInstr_X86_WRK()
8298 pre = getUChar(delta); in disInstr_X86_WRK()
8319 UChar op1 = getIByte(delta+1); in disInstr_X86_WRK()
8320 UChar op2 = getIByte(delta+2); in disInstr_X86_WRK()
8335 delta++; in disInstr_X86_WRK()
8345 if (can_be_used_with_LOCK_prefix( &guest_code[delta] )) { in disInstr_X86_WRK()
8364 insn = &guest_code[delta]; in disInstr_X86_WRK()
8375 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8379 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8380 delta += 2+alen; in disInstr_X86_WRK()
8446 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8450 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8451 delta += 2+alen; in disInstr_X86_WRK()
8539 delta = dis_SSE_E_to_G_all( sorb, delta+2, "addps", Iop_Add32Fx4 ); in disInstr_X86_WRK()
8546 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "addss", Iop_Add32F0x4 ); in disInstr_X86_WRK()
8552 delta = dis_SSE_E_to_G_all_invG( sorb, delta+2, "andnps", Iop_AndV128 ); in disInstr_X86_WRK()
8558 delta = dis_SSE_E_to_G_all( sorb, delta+2, "andps", Iop_AndV128 ); in disInstr_X86_WRK()
8564 delta = dis_SSEcmp_E_to_G( sorb, delta+2, "cmpps", True, 4 ); in disInstr_X86_WRK()
8571 delta = dis_SSEcmp_E_to_G( sorb, delta+3, "cmpss", False, 4 ); in disInstr_X86_WRK()
8580 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8583 delta += 2+1; in disInstr_X86_WRK()
8587 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8589 delta += 2+alen; in disInstr_X86_WRK()
8618 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8624 delta += 2+1; in disInstr_X86_WRK()
8628 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8630 delta += 2+alen; in disInstr_X86_WRK()
8661 modrm = getIByte(delta+3); in disInstr_X86_WRK()
8664 delta += 3+1; in disInstr_X86_WRK()
8668 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
8670 delta += 3+alen; in disInstr_X86_WRK()
8698 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8701 delta += 2+1; in disInstr_X86_WRK()
8708 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8713 delta += 2+alen; in disInstr_X86_WRK()
8752 modrm = getIByte(delta+3); in disInstr_X86_WRK()
8754 delta += 3+1; in disInstr_X86_WRK()
8760 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
8762 delta += 3+alen; in disInstr_X86_WRK()
8785 delta = dis_SSE_E_to_G_all( sorb, delta+2, "divps", Iop_Div32Fx4 ); in disInstr_X86_WRK()
8792 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "divss", Iop_Div32F0x4 ); in disInstr_X86_WRK()
8803 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8807 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8808 delta += 2+alen; in disInstr_X86_WRK()
8837 IRConst_U32( ((Addr32)guest_EIP_bbstart)+delta), in disInstr_X86_WRK()
8853 delta = dis_MMX( &ok, sorb, sz, delta+1 ); in disInstr_X86_WRK()
8866 modrm = getIByte(delta+2); in disInstr_X86_WRK()
8869 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8873 delta += 2+alen; in disInstr_X86_WRK()
8883 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
8884 sorb, delta+2, insn[1], "pavgb", False ); in disInstr_X86_WRK()
8892 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
8893 sorb, delta+2, insn[1], "pavgw", False ); in disInstr_X86_WRK()
8919 delta += 4; in disInstr_X86_WRK()
8944 delta += 3+1; in disInstr_X86_WRK()
8950 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
8951 delta += 3+alen; in disInstr_X86_WRK()
8974 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
8975 sorb, delta+2, insn[1], "pmaxsw", False ); in disInstr_X86_WRK()
8983 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
8984 sorb, delta+2, insn[1], "pmaxub", False ); in disInstr_X86_WRK()
8992 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
8993 sorb, delta+2, insn[1], "pminsw", False ); in disInstr_X86_WRK()
9001 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
9002 sorb, delta+2, insn[1], "pminub", False ); in disInstr_X86_WRK()
9021 delta += 3; in disInstr_X86_WRK()
9031 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
9032 sorb, delta+2, insn[1], "pmuluh", False ); in disInstr_X86_WRK()
9045 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9048 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9049 delta += 2+alen; in disInstr_X86_WRK()
9070 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9073 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9074 delta += 2+alen; in disInstr_X86_WRK()
9090 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
9091 sorb, delta+2, insn[1], "psadbw", False ); in disInstr_X86_WRK()
9108 delta += 2+2; in disInstr_X86_WRK()
9113 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9116 delta += 3+alen; in disInstr_X86_WRK()
9138 delta += 3; in disInstr_X86_WRK()
9153 delta = dis_SSE_E_to_G_all( sorb, delta+2, "maxps", Iop_Max32Fx4 ); in disInstr_X86_WRK()
9160 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "maxss", Iop_Max32F0x4 ); in disInstr_X86_WRK()
9166 delta = dis_SSE_E_to_G_all( sorb, delta+2, "minps", Iop_Min32Fx4 ); in disInstr_X86_WRK()
9173 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "minss", Iop_Min32F0x4 ); in disInstr_X86_WRK()
9180 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9186 delta += 2+1; in disInstr_X86_WRK()
9188 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9195 delta += 2+alen; in disInstr_X86_WRK()
9204 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9208 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9214 delta += 2+alen; in disInstr_X86_WRK()
9222 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9224 delta += 2+1; in disInstr_X86_WRK()
9230 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9231 delta += 2+alen; in disInstr_X86_WRK()
9243 delta += 2; in disInstr_X86_WRK()
9244 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
9245 delta += alen; in disInstr_X86_WRK()
9259 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9261 delta += 2+1; in disInstr_X86_WRK()
9268 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9269 delta += 2+alen; in disInstr_X86_WRK()
9281 delta += 2; in disInstr_X86_WRK()
9282 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
9283 delta += alen; in disInstr_X86_WRK()
9297 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9304 delta += 2+1; in disInstr_X86_WRK()
9334 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9336 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9342 delta += 2+alen; in disInstr_X86_WRK()
9352 modrm = getIByte(delta+3); in disInstr_X86_WRK()
9358 delta += 3+1; in disInstr_X86_WRK()
9360 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
9370 delta += 3+alen; in disInstr_X86_WRK()
9379 modrm = getIByte(delta+3); in disInstr_X86_WRK()
9383 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
9388 delta += 3+alen; in disInstr_X86_WRK()
9395 delta = dis_SSE_E_to_G_all( sorb, delta+2, "mulps", Iop_Mul32Fx4 ); in disInstr_X86_WRK()
9402 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "mulss", Iop_Mul32F0x4 ); in disInstr_X86_WRK()
9408 delta = dis_SSE_E_to_G_all( sorb, delta+2, "orps", Iop_OrV128 ); in disInstr_X86_WRK()
9415 delta = dis_SSE_E_to_G_unary_all( sorb, delta+2, in disInstr_X86_WRK()
9423 delta = dis_SSE_E_to_G_unary_lo32( sorb, delta+3, in disInstr_X86_WRK()
9431 delta = dis_SSE_E_to_G_unary_all( sorb, delta+2, in disInstr_X86_WRK()
9439 delta = dis_SSE_E_to_G_unary_lo32( sorb, delta+3, in disInstr_X86_WRK()
9458 delta += 2+2; in disInstr_X86_WRK()
9463 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9466 delta += 3+alen; in disInstr_X86_WRK()
9492 delta = dis_SSE_E_to_G_unary_all( sorb, delta+2, in disInstr_X86_WRK()
9500 delta = dis_SSE_E_to_G_unary_lo32( sorb, delta+3, in disInstr_X86_WRK()
9508 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9512 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9513 delta += 2+alen; in disInstr_X86_WRK()
9532 delta = dis_SSE_E_to_G_all( sorb, delta+2, "subps", Iop_Sub32Fx4 ); in disInstr_X86_WRK()
9539 delta = dis_SSE_E_to_G_lo32( sorb, delta+3, "subss", Iop_Sub32F0x4 ); in disInstr_X86_WRK()
9558 delta += 2+1; in disInstr_X86_WRK()
9563 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9565 delta += 2+alen; in disInstr_X86_WRK()
9585 delta = dis_SSE_E_to_G_all( sorb, delta+2, "xorps", Iop_XorV128 ); in disInstr_X86_WRK()
9602 insn = &guest_code[delta]; in disInstr_X86_WRK()
9606 delta = dis_SSE_E_to_G_all( sorb, delta+2, "addpd", Iop_Add64Fx2 ); in disInstr_X86_WRK()
9613 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "addsd", Iop_Add64F0x2 ); in disInstr_X86_WRK()
9619 delta = dis_SSE_E_to_G_all_invG( sorb, delta+2, "andnpd", Iop_AndV128 ); in disInstr_X86_WRK()
9625 delta = dis_SSE_E_to_G_all( sorb, delta+2, "andpd", Iop_AndV128 ); in disInstr_X86_WRK()
9631 delta = dis_SSEcmp_E_to_G( sorb, delta+2, "cmppd", True, 8 ); in disInstr_X86_WRK()
9638 delta = dis_SSEcmp_E_to_G( sorb, delta+3, "cmpsd", False, 8 ); in disInstr_X86_WRK()
9647 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9650 delta += 2+1; in disInstr_X86_WRK()
9654 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9656 delta += 2+alen; in disInstr_X86_WRK()
9682 modrm = getIByte(delta+3); in disInstr_X86_WRK()
9685 delta += 3+1; in disInstr_X86_WRK()
9689 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
9691 delta += 3+alen; in disInstr_X86_WRK()
9715 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9718 delta += 2+1; in disInstr_X86_WRK()
9722 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9724 delta += 2+alen; in disInstr_X86_WRK()
9753 modrm = getIByte(delta+3); in disInstr_X86_WRK()
9756 delta += 3+1; in disInstr_X86_WRK()
9760 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
9762 delta += 3+alen; in disInstr_X86_WRK()
9801 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9804 delta += 2+1; in disInstr_X86_WRK()
9811 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9816 delta += 2+alen; in disInstr_X86_WRK()
9849 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9852 delta += 2+1; in disInstr_X86_WRK()
9856 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9858 delta += 2+alen; in disInstr_X86_WRK()
9890 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9900 delta += 2+1; in disInstr_X86_WRK()
9904 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9906 delta += 2+alen; in disInstr_X86_WRK()
9930 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9933 delta += 2+1; in disInstr_X86_WRK()
9937 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9939 delta += 2+alen; in disInstr_X86_WRK()
9971 modrm = getIByte(delta+2); in disInstr_X86_WRK()
9975 delta += 2+1; in disInstr_X86_WRK()
9979 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
9983 delta += 2+alen; in disInstr_X86_WRK()
10007 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10009 delta += 3+1; in disInstr_X86_WRK()
10015 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10017 delta += 3+alen; in disInstr_X86_WRK()
10042 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10044 delta += 3+1; in disInstr_X86_WRK()
10049 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10051 delta += 3+alen; in disInstr_X86_WRK()
10071 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10074 delta += 3+1; in disInstr_X86_WRK()
10078 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10080 delta += 3+alen; in disInstr_X86_WRK()
10098 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10100 delta += 3+1; in disInstr_X86_WRK()
10105 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10107 delta += 3+alen; in disInstr_X86_WRK()
10124 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10127 delta += 2+1; in disInstr_X86_WRK()
10131 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10133 delta += 2+alen; in disInstr_X86_WRK()
10168 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10171 delta += 3+1; in disInstr_X86_WRK()
10175 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10177 delta += 3+alen; in disInstr_X86_WRK()
10205 delta = dis_SSE_E_to_G_all( sorb, delta+2, "divpd", Iop_Div64Fx2 ); in disInstr_X86_WRK()
10212 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "divsd", Iop_Div64F0x2 ); in disInstr_X86_WRK()
10222 delta += 3; in disInstr_X86_WRK()
10232 delta = dis_SSE_E_to_G_all( sorb, delta+2, "maxpd", Iop_Max64Fx2 ); in disInstr_X86_WRK()
10239 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "maxsd", Iop_Max64F0x2 ); in disInstr_X86_WRK()
10245 delta = dis_SSE_E_to_G_all( sorb, delta+2, "minpd", Iop_Min64Fx2 ); in disInstr_X86_WRK()
10252 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "minsd", Iop_Min64F0x2 ); in disInstr_X86_WRK()
10263 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10269 delta += 2+1; in disInstr_X86_WRK()
10271 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10278 delta += 2+alen; in disInstr_X86_WRK()
10288 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10292 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10298 delta += 2+alen; in disInstr_X86_WRK()
10305 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10307 delta += 2+1; in disInstr_X86_WRK()
10315 addr = disAMode( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10316 delta += 2+alen; in disInstr_X86_WRK()
10328 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10330 delta += 2+1; in disInstr_X86_WRK()
10336 addr = disAMode( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10337 delta += 2+alen; in disInstr_X86_WRK()
10347 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10349 delta += 2+1; in disInstr_X86_WRK()
10355 addr = disAMode( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10356 delta += 2+alen; in disInstr_X86_WRK()
10369 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10375 delta += 3+1; in disInstr_X86_WRK()
10377 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10382 delta += 3+alen; in disInstr_X86_WRK()
10392 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10394 delta += 3+1; in disInstr_X86_WRK()
10400 addr = disAMode( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10401 delta += 3+alen; in disInstr_X86_WRK()
10411 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10418 delta += 3+1; in disInstr_X86_WRK()
10429 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10433 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10434 delta += 2+alen; in disInstr_X86_WRK()
10447 delta += 2; in disInstr_X86_WRK()
10448 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
10449 delta += alen; in disInstr_X86_WRK()
10463 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10467 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10468 delta += 2+alen; in disInstr_X86_WRK()
10481 delta += 2; in disInstr_X86_WRK()
10482 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
10483 delta += alen; in disInstr_X86_WRK()
10497 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10502 delta += 2+1; in disInstr_X86_WRK()
10522 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10556 delta += 2+1; in disInstr_X86_WRK()
10566 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10568 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10573 delta += 2+alen; in disInstr_X86_WRK()
10582 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10584 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10588 delta += 2+alen; in disInstr_X86_WRK()
10597 modrm = getIByte(delta+2); in disInstr_X86_WRK()
10602 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10606 delta += 2+alen; in disInstr_X86_WRK()
10615 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10622 delta += 3+1; in disInstr_X86_WRK()
10637 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10647 delta += 3+1; in disInstr_X86_WRK()
10649 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10657 delta += 3+alen; in disInstr_X86_WRK()
10666 modrm = getIByte(delta+3); in disInstr_X86_WRK()
10672 delta += 3+1; in disInstr_X86_WRK()
10674 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
10679 delta += 3+alen; in disInstr_X86_WRK()
10686 delta = dis_SSE_E_to_G_all( sorb, delta+2, "mulpd", Iop_Mul64Fx2 ); in disInstr_X86_WRK()
10693 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "mulsd", Iop_Mul64F0x2 ); in disInstr_X86_WRK()
10699 delta = dis_SSE_E_to_G_all( sorb, delta+2, "orpd", Iop_OrV128 ); in disInstr_X86_WRK()
10719 delta += 2+2; in disInstr_X86_WRK()
10724 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10727 delta += 3+alen; in disInstr_X86_WRK()
10754 delta = dis_SSE_E_to_G_unary_all( sorb, delta+2, in disInstr_X86_WRK()
10762 delta = dis_SSE_E_to_G_unary_lo64( sorb, delta+3, in disInstr_X86_WRK()
10769 delta = dis_SSE_E_to_G_all( sorb, delta+2, "subpd", Iop_Sub64Fx2 ); in disInstr_X86_WRK()
10776 delta = dis_SSE_E_to_G_lo64( sorb, delta+3, "subsd", Iop_Sub64F0x2 ); in disInstr_X86_WRK()
10797 delta += 2+1; in disInstr_X86_WRK()
10802 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
10804 delta += 2+alen; in disInstr_X86_WRK()
10828 delta = dis_SSE_E_to_G_all( sorb, delta+2, "xorpd", Iop_XorV128 ); in disInstr_X86_WRK()
10834 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10842 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10850 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10858 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10865 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10874 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
10875 sorb, delta+2, insn[1], "paddq", False ); in disInstr_X86_WRK()
10881 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10888 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10895 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10902 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10909 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10916 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10923 delta = dis_SSE_E_to_G_all( sorb, delta+2, "pand", Iop_AndV128 ); in disInstr_X86_WRK()
10929 delta = dis_SSE_E_to_G_all_invG( sorb, delta+2, "pandn", Iop_AndV128 ); in disInstr_X86_WRK()
10935 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10942 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10949 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10956 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10963 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10970 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10977 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
10984 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11013 delta += 4; in disInstr_X86_WRK()
11028 delta += 3+1; in disInstr_X86_WRK()
11034 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11035 delta += 3+alen; in disInstr_X86_WRK()
11062 delta += 2+1; in disInstr_X86_WRK()
11066 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11068 delta += 2+alen; in disInstr_X86_WRK()
11096 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11103 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11110 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11117 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11141 delta += 3; in disInstr_X86_WRK()
11149 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11156 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11163 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11183 delta += 2+1; in disInstr_X86_WRK()
11187 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11189 delta += 2+alen; in disInstr_X86_WRK()
11219 delta += 2+1; in disInstr_X86_WRK()
11223 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11225 delta += 2+alen; in disInstr_X86_WRK()
11242 delta = dis_SSE_E_to_G_all( sorb, delta+2, "por", Iop_OrV128 ); in disInstr_X86_WRK()
11261 delta += 2+1; in disInstr_X86_WRK()
11265 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11267 delta += 2+alen; in disInstr_X86_WRK()
11304 delta += 2+2; in disInstr_X86_WRK()
11309 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11312 delta += 3+alen; in disInstr_X86_WRK()
11344 delta += 4+1; in disInstr_X86_WRK()
11349 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
11352 delta += 4+alen; in disInstr_X86_WRK()
11388 delta += 4+1; in disInstr_X86_WRK()
11393 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
11396 delta += 4+alen; in disInstr_X86_WRK()
11422 delta = dis_SSE_shiftE_imm( delta+2, "pslld", Iop_ShlN32x4 ); in disInstr_X86_WRK()
11428 delta = dis_SSE_shiftG_byE( sorb, delta+2, "pslld", Iop_ShlN32x4 ); in disInstr_X86_WRK()
11441 delta += 4; in disInstr_X86_WRK()
11496 delta = dis_SSE_shiftE_imm( delta+2, "psllq", Iop_ShlN64x2 ); in disInstr_X86_WRK()
11502 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psllq", Iop_ShlN64x2 ); in disInstr_X86_WRK()
11510 delta = dis_SSE_shiftE_imm( delta+2, "psllw", Iop_ShlN16x8 ); in disInstr_X86_WRK()
11516 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psllw", Iop_ShlN16x8 ); in disInstr_X86_WRK()
11524 delta = dis_SSE_shiftE_imm( delta+2, "psrad", Iop_SarN32x4 ); in disInstr_X86_WRK()
11530 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psrad", Iop_SarN32x4 ); in disInstr_X86_WRK()
11538 delta = dis_SSE_shiftE_imm( delta+2, "psraw", Iop_SarN16x8 ); in disInstr_X86_WRK()
11544 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psraw", Iop_SarN16x8 ); in disInstr_X86_WRK()
11552 delta = dis_SSE_shiftE_imm( delta+2, "psrld", Iop_ShrN32x4 ); in disInstr_X86_WRK()
11558 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psrld", Iop_ShrN32x4 ); in disInstr_X86_WRK()
11571 delta += 4; in disInstr_X86_WRK()
11627 delta = dis_SSE_shiftE_imm( delta+2, "psrlq", Iop_ShrN64x2 ); in disInstr_X86_WRK()
11633 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psrlq", Iop_ShrN64x2 ); in disInstr_X86_WRK()
11641 delta = dis_SSE_shiftE_imm( delta+2, "psrlw", Iop_ShrN16x8 ); in disInstr_X86_WRK()
11647 delta = dis_SSE_shiftG_byE( sorb, delta+2, "psrlw", Iop_ShrN16x8 ); in disInstr_X86_WRK()
11653 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11660 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11669 delta = dis_MMXop_regmem_to_reg ( in disInstr_X86_WRK()
11670 sorb, delta+2, insn[1], "psubq", False ); in disInstr_X86_WRK()
11676 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11683 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11690 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11697 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11704 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11711 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11718 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11726 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11734 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11742 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11750 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11758 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11766 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11774 delta = dis_SSEint_E_to_G( sorb, delta+2, in disInstr_X86_WRK()
11782 delta = dis_SSE_E_to_G_all( sorb, delta+2, "pxor", Iop_XorV128 ); in disInstr_X86_WRK()
11814 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11815 delta += 2+alen; in disInstr_X86_WRK()
11826 jmp_lit(&dres, Ijk_InvalICache, (Addr32)(guest_EIP_bbstart+delta)); in disInstr_X86_WRK()
11845 insn = &guest_code[delta]; in disInstr_X86_WRK()
11864 delta += 3+1; in disInstr_X86_WRK()
11866 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
11872 delta += 3+alen; in disInstr_X86_WRK()
11893 delta += 3+1; in disInstr_X86_WRK()
11896 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
11900 delta += 3+alen; in disInstr_X86_WRK()
11922 delta += 3+1; in disInstr_X86_WRK()
11924 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
11928 delta += 3+alen; in disInstr_X86_WRK()
11959 delta += 2+1; in disInstr_X86_WRK()
11961 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
11965 delta += 2+alen; in disInstr_X86_WRK()
12001 delta += 3+1; in disInstr_X86_WRK()
12003 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12007 delta += 3+alen; in disInstr_X86_WRK()
12045 delta += 2+1; in disInstr_X86_WRK()
12047 addr = disAMode ( &alen, sorb, delta+2, dis_buf ); in disInstr_X86_WRK()
12051 delta += 2+alen; in disInstr_X86_WRK()
12073 modrm = getIByte(delta+3); in disInstr_X86_WRK()
12077 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12082 delta += 3+alen; in disInstr_X86_WRK()
12112 delta += 3+1; in disInstr_X86_WRK()
12116 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12118 delta += 3+alen; in disInstr_X86_WRK()
12163 delta += 3+1; in disInstr_X86_WRK()
12167 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12170 delta += 3+alen; in disInstr_X86_WRK()
12245 delta += 3+1; in disInstr_X86_WRK()
12249 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12251 delta += 3+alen; in disInstr_X86_WRK()
12316 delta += 3+1; in disInstr_X86_WRK()
12318 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12323 delta += 3+alen; in disInstr_X86_WRK()
12363 delta += 3+1; in disInstr_X86_WRK()
12367 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12369 delta += 3+alen; in disInstr_X86_WRK()
12397 delta += 3+1; in disInstr_X86_WRK()
12401 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12404 delta += 3+alen; in disInstr_X86_WRK()
12448 delta += 3+1; in disInstr_X86_WRK()
12452 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12454 delta += 3+alen; in disInstr_X86_WRK()
12493 delta += 3+1; in disInstr_X86_WRK()
12497 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12500 delta += 3+alen; in disInstr_X86_WRK()
12542 delta += 3+1; in disInstr_X86_WRK()
12546 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12548 delta += 3+alen; in disInstr_X86_WRK()
12583 delta += 3+1; in disInstr_X86_WRK()
12587 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12590 delta += 3+alen; in disInstr_X86_WRK()
12622 delta += 3+1+1; in disInstr_X86_WRK()
12627 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12630 delta += 3+alen+1; in disInstr_X86_WRK()
12680 delta += 3+1+1; in disInstr_X86_WRK()
12685 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12689 delta += 3+alen+1; in disInstr_X86_WRK()
12758 delta += 3+1; in disInstr_X86_WRK()
12762 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12764 delta += 3+alen; in disInstr_X86_WRK()
12812 delta += 3+1; in disInstr_X86_WRK()
12816 addr = disAMode ( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12819 delta += 3+alen; in disInstr_X86_WRK()
12906 addr = disAMode(&alen, sorb, delta + 3, dis_buf); in disInstr_X86_WRK()
12907 delta += 3 + alen; in disInstr_X86_WRK()
12956 delta += 3+1+1; in disInstr_X86_WRK()
12962 addr = disAMode( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
12966 delta += 3+alen+1; in disInstr_X86_WRK()
12998 delta += 3+1; in disInstr_X86_WRK()
13003 addr = disAMode( &alen, sorb, delta+3, dis_buf ); in disInstr_X86_WRK()
13005 delta += 3+alen; in disInstr_X86_WRK()
13057 delta += 2; in disInstr_X86_WRK()
13058 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta); in disInstr_X86_WRK()
13059 delta ++; in disInstr_X86_WRK()
13075 opc = getIByte(delta); delta++; in disInstr_X86_WRK()
13085 d32 = getUDisp16(delta); in disInstr_X86_WRK()
13086 delta += 2; in disInstr_X86_WRK()
13121 d32 = getUDisp32(delta); delta += 4; in disInstr_X86_WRK()
13122 d32 += (guest_EIP_bbstart+delta); in disInstr_X86_WRK()
13124 if (d32 == guest_EIP_bbstart+delta && getIByte(delta) >= 0x58 in disInstr_X86_WRK()
13125 && getIByte(delta) <= 0x5F) { in disInstr_X86_WRK()
13132 Int archReg = getIByte(delta) - 0x58; in disInstr_X86_WRK()
13134 putIReg(4, archReg, mkU32(guest_EIP_bbstart+delta)); in disInstr_X86_WRK()
13135 delta++; /* Step over the POP */ in disInstr_X86_WRK()
13142 storeLE( mkexpr(t1), mkU32(guest_EIP_bbstart+delta)); in disInstr_X86_WRK()
13249 d32 = getIByte(delta); delta++; in disInstr_X86_WRK()
13340 Int delta0 = delta; in disInstr_X86_WRK()
13342 delta = dis_FPU ( &decode_OK, sorb, delta ); in disInstr_X86_WRK()
13344 delta = delta0; in disInstr_X86_WRK()
13393 jmp_lit(&dres, Ijk_SigTRAP, ((Addr32)guest_EIP_bbstart)+delta); in disInstr_X86_WRK()
13399 d32 = getIByte(delta); delta++; in disInstr_X86_WRK()
13415 jmp_lit(&dres, Ijk_SigSEGV, ((Addr32)guest_EIP_bbstart)+delta-2); in disInstr_X86_WRK()
13450 jmp_lit(&dres, jump_kind, ((Addr32)guest_EIP_bbstart)+delta); in disInstr_X86_WRK()
13458 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta); in disInstr_X86_WRK()
13459 delta++; in disInstr_X86_WRK()
13472 d32 = (((Addr32)guest_EIP_bbstart)+delta+sz) + getSDisp(sz,delta); in disInstr_X86_WRK()
13473 delta += sz; in disInstr_X86_WRK()
13502 jmpDelta = (Int)getSDisp8(delta); in disInstr_X86_WRK()
13504 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + jmpDelta; in disInstr_X86_WRK()
13505 delta++; in disInstr_X86_WRK()
13520 IRConst_U32(guest_EIP_bbstart+delta), in disInstr_X86_WRK()
13532 (Addr32)(guest_EIP_bbstart+delta)) ) { in disInstr_X86_WRK()
13543 dres.continueAt = guest_EIP_bbstart + delta; in disInstr_X86_WRK()
13550 (Addr32)(guest_EIP_bbstart+delta), d32); in disInstr_X86_WRK()
13559 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta); in disInstr_X86_WRK()
13560 delta ++; in disInstr_X86_WRK()
13583 d32 = (((Addr32)guest_EIP_bbstart)+delta+1) + getSDisp8(delta); in disInstr_X86_WRK()
13584 delta++; in disInstr_X86_WRK()
13615 delta = dis_imul_I_E_G ( sorb, sz, delta, sz ); in disInstr_X86_WRK()
13618 delta = dis_imul_I_E_G ( sorb, sz, delta, 1 ); in disInstr_X86_WRK()
13624 delta = dis_mov_G_E(sorb, 1, delta); in disInstr_X86_WRK()
13628 delta = dis_mov_G_E(sorb, sz, delta); in disInstr_X86_WRK()
13632 delta = dis_mov_E_G(sorb, 1, delta); in disInstr_X86_WRK()
13636 delta = dis_mov_E_G(sorb, sz, delta); in disInstr_X86_WRK()
13642 modrm = getIByte(delta); in disInstr_X86_WRK()
13648 addr = disAMode ( &alen, /*sorb*/ 0, delta, dis_buf ); in disInstr_X86_WRK()
13649 delta += alen; in disInstr_X86_WRK()
13656 delta = dis_mov_Sw_Ew(sorb, sz, delta); in disInstr_X86_WRK()
13660 delta = dis_mov_Ew_Sw(sorb, delta); in disInstr_X86_WRK()
13667 d32 = getUDisp32(delta); delta += 4; in disInstr_X86_WRK()
13680 d32 = getUDisp32(delta); delta += 4; in disInstr_X86_WRK()
13697 d32 = getIByte(delta); delta += 1; in disInstr_X86_WRK()
13710 d32 = getUDisp(sz,delta); delta += sz; in disInstr_X86_WRK()
13722 modrm = getIByte(delta); in disInstr_X86_WRK()
13725 delta++; /* mod/rm byte */ in disInstr_X86_WRK()
13726 d32 = getUDisp(sz,delta); delta += sz; in disInstr_X86_WRK()
13731 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
13732 delta += alen; in disInstr_X86_WRK()
13733 d32 = getUDisp(sz,delta); delta += sz; in disInstr_X86_WRK()
13744 delta = dis_op_imm_A( 1, False, Iop_Add8, True, delta, "add" ); in disInstr_X86_WRK()
13747 delta = dis_op_imm_A( sz, False, Iop_Add8, True, delta, "add" ); in disInstr_X86_WRK()
13751 delta = dis_op_imm_A( 1, False, Iop_Or8, True, delta, "or" ); in disInstr_X86_WRK()
13754 delta = dis_op_imm_A( sz, False, Iop_Or8, True, delta, "or" ); in disInstr_X86_WRK()
13758 delta = dis_op_imm_A( 1, True, Iop_Add8, True, delta, "adc" ); in disInstr_X86_WRK()
13761 delta = dis_op_imm_A( sz, True, Iop_Add8, True, delta, "adc" ); in disInstr_X86_WRK()
13765 delta = dis_op_imm_A( 1, True, Iop_Sub8, True, delta, "sbb" ); in disInstr_X86_WRK()
13768 delta = dis_op_imm_A( sz, True, Iop_Sub8, True, delta, "sbb" ); in disInstr_X86_WRK()
13772 delta = dis_op_imm_A( 1, False, Iop_And8, True, delta, "and" ); in disInstr_X86_WRK()
13775 delta = dis_op_imm_A( sz, False, Iop_And8, True, delta, "and" ); in disInstr_X86_WRK()
13779 delta = dis_op_imm_A( 1, False, Iop_Sub8, True, delta, "sub" ); in disInstr_X86_WRK()
13782 delta = dis_op_imm_A( sz, False, Iop_Sub8, True, delta, "sub" ); in disInstr_X86_WRK()
13786 delta = dis_op_imm_A( 1, False, Iop_Xor8, True, delta, "xor" ); in disInstr_X86_WRK()
13789 delta = dis_op_imm_A( sz, False, Iop_Xor8, True, delta, "xor" ); in disInstr_X86_WRK()
13793 delta = dis_op_imm_A( 1, False, Iop_Sub8, False, delta, "cmp" ); in disInstr_X86_WRK()
13796 delta = dis_op_imm_A( sz, False, Iop_Sub8, False, delta, "cmp" ); in disInstr_X86_WRK()
13800 delta = dis_op_imm_A( 1, False, Iop_And8, False, delta, "test" ); in disInstr_X86_WRK()
13803 delta = dis_op_imm_A( sz, False, Iop_And8, False, delta, "test" ); in disInstr_X86_WRK()
13809 delta = dis_op2_E_G ( sorb, False, Iop_Add8, True, 1, delta, "add" ); in disInstr_X86_WRK()
13812 delta = dis_op2_E_G ( sorb, False, Iop_Add8, True, sz, delta, "add" ); in disInstr_X86_WRK()
13816 delta = dis_op2_E_G ( sorb, False, Iop_Or8, True, 1, delta, "or" ); in disInstr_X86_WRK()
13819 delta = dis_op2_E_G ( sorb, False, Iop_Or8, True, sz, delta, "or" ); in disInstr_X86_WRK()
13823 delta = dis_op2_E_G ( sorb, True, Iop_Add8, True, 1, delta, "adc" ); in disInstr_X86_WRK()
13826 delta = dis_op2_E_G ( sorb, True, Iop_Add8, True, sz, delta, "adc" ); in disInstr_X86_WRK()
13830 delta = dis_op2_E_G ( sorb, True, Iop_Sub8, True, 1, delta, "sbb" ); in disInstr_X86_WRK()
13833 delta = dis_op2_E_G ( sorb, True, Iop_Sub8, True, sz, delta, "sbb" ); in disInstr_X86_WRK()
13837 delta = dis_op2_E_G ( sorb, False, Iop_And8, True, 1, delta, "and" ); in disInstr_X86_WRK()
13840 delta = dis_op2_E_G ( sorb, False, Iop_And8, True, sz, delta, "and" ); in disInstr_X86_WRK()
13844 delta = dis_op2_E_G ( sorb, False, Iop_Sub8, True, 1, delta, "sub" ); in disInstr_X86_WRK()
13847 delta = dis_op2_E_G ( sorb, False, Iop_Sub8, True, sz, delta, "sub" ); in disInstr_X86_WRK()
13851 delta = dis_op2_E_G ( sorb, False, Iop_Xor8, True, 1, delta, "xor" ); in disInstr_X86_WRK()
13854 delta = dis_op2_E_G ( sorb, False, Iop_Xor8, True, sz, delta, "xor" ); in disInstr_X86_WRK()
13858 delta = dis_op2_E_G ( sorb, False, Iop_Sub8, False, 1, delta, "cmp" ); in disInstr_X86_WRK()
13861 delta = dis_op2_E_G ( sorb, False, Iop_Sub8, False, sz, delta, "cmp" ); in disInstr_X86_WRK()
13865 delta = dis_op2_E_G ( sorb, False, Iop_And8, False, 1, delta, "test" ); in disInstr_X86_WRK()
13868 delta = dis_op2_E_G ( sorb, False, Iop_And8, False, sz, delta, "test" ); in disInstr_X86_WRK()
13874 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13875 Iop_Add8, True, 1, delta, "add" ); in disInstr_X86_WRK()
13878 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13879 Iop_Add8, True, sz, delta, "add" ); in disInstr_X86_WRK()
13883 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13884 Iop_Or8, True, 1, delta, "or" ); in disInstr_X86_WRK()
13887 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13888 Iop_Or8, True, sz, delta, "or" ); in disInstr_X86_WRK()
13892 delta = dis_op2_G_E ( sorb, pfx_lock, True, in disInstr_X86_WRK()
13893 Iop_Add8, True, 1, delta, "adc" ); in disInstr_X86_WRK()
13896 delta = dis_op2_G_E ( sorb, pfx_lock, True, in disInstr_X86_WRK()
13897 Iop_Add8, True, sz, delta, "adc" ); in disInstr_X86_WRK()
13901 delta = dis_op2_G_E ( sorb, pfx_lock, True, in disInstr_X86_WRK()
13902 Iop_Sub8, True, 1, delta, "sbb" ); in disInstr_X86_WRK()
13905 delta = dis_op2_G_E ( sorb, pfx_lock, True, in disInstr_X86_WRK()
13906 Iop_Sub8, True, sz, delta, "sbb" ); in disInstr_X86_WRK()
13910 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13911 Iop_And8, True, 1, delta, "and" ); in disInstr_X86_WRK()
13914 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13915 Iop_And8, True, sz, delta, "and" ); in disInstr_X86_WRK()
13919 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13920 Iop_Sub8, True, 1, delta, "sub" ); in disInstr_X86_WRK()
13923 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13924 Iop_Sub8, True, sz, delta, "sub" ); in disInstr_X86_WRK()
13928 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13929 Iop_Xor8, True, 1, delta, "xor" ); in disInstr_X86_WRK()
13932 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13933 Iop_Xor8, True, sz, delta, "xor" ); in disInstr_X86_WRK()
13937 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13938 Iop_Sub8, False, 1, delta, "cmp" ); in disInstr_X86_WRK()
13941 delta = dis_op2_G_E ( sorb, pfx_lock, False, in disInstr_X86_WRK()
13942 Iop_Sub8, False, sz, delta, "cmp" ); in disInstr_X86_WRK()
13974 ((Addr32)guest_EIP_bbstart)+delta ); in disInstr_X86_WRK()
14005 UChar rm = getIByte(delta); in disInstr_X86_WRK()
14031 addr = disAMode ( &len, sorb, delta, dis_buf); in disInstr_X86_WRK()
14036 delta += len; in disInstr_X86_WRK()
14072 d32 = getUDisp(sz,delta); delta += sz; in disInstr_X86_WRK()
14075 d32 = getSDisp8(delta); delta += 1; in disInstr_X86_WRK()
14286 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14288 if (abyte == 0x66) { sz = 2; abyte = getIByte(delta); delta++; } in disInstr_X86_WRK()
14296 guest_EIP_bbstart+delta, "repne movs" ); in disInstr_X86_WRK()
14302 guest_EIP_bbstart+delta, "repne cmps" ); in disInstr_X86_WRK()
14308 guest_EIP_bbstart+delta, "repne stos" ); in disInstr_X86_WRK()
14314 guest_EIP_bbstart+delta, "repne scas" ); in disInstr_X86_WRK()
14327 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14329 if (abyte == 0x66) { sz = 2; abyte = getIByte(delta); delta++; } in disInstr_X86_WRK()
14335 switch (getIByte(delta)) { in disInstr_X86_WRK()
14338 delta = dis_bs_E_G ( sorb, sz, delta + 1, True ); in disInstr_X86_WRK()
14342 delta = dis_bs_E_G ( sorb, sz, delta + 1, False ); in disInstr_X86_WRK()
14352 guest_EIP_bbstart+delta, "rep movs" ); in disInstr_X86_WRK()
14358 guest_EIP_bbstart+delta, "repe cmps" ); in disInstr_X86_WRK()
14364 guest_EIP_bbstart+delta, "rep stos" ); in disInstr_X86_WRK()
14370 guest_EIP_bbstart+delta, "rep lods" ); in disInstr_X86_WRK()
14376 guest_EIP_bbstart+delta, "repe scas" ); in disInstr_X86_WRK()
14384 jmp_lit(&dres, Ijk_Yield, ((Addr32)guest_EIP_bbstart)+delta); in disInstr_X86_WRK()
14408 modrm = getIByte(delta); in disInstr_X86_WRK()
14416 delta++; in disInstr_X86_WRK()
14422 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
14428 delta += alen; in disInstr_X86_WRK()
14469 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14476 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14517 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14524 abyte = getIByte(delta); delta++; in disInstr_X86_WRK()
14566 modrm = getIByte(delta); in disInstr_X86_WRK()
14567 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14570 d32 = getUChar(delta + am_sz); in disInstr_X86_WRK()
14571 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 ); in disInstr_X86_WRK()
14575 modrm = getIByte(delta); in disInstr_X86_WRK()
14576 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14578 d32 = getUDisp(d_sz, delta + am_sz); in disInstr_X86_WRK()
14579 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 ); in disInstr_X86_WRK()
14583 modrm = getIByte(delta); in disInstr_X86_WRK()
14584 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14586 d32 = getSDisp8(delta + am_sz); in disInstr_X86_WRK()
14587 delta = dis_Grp1 ( sorb, pfx_lock, delta, modrm, am_sz, d_sz, sz, d32 ); in disInstr_X86_WRK()
14594 modrm = getIByte(delta); in disInstr_X86_WRK()
14595 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14597 d32 = getUChar(delta + am_sz); in disInstr_X86_WRK()
14599 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14607 modrm = getIByte(delta); in disInstr_X86_WRK()
14608 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14610 d32 = getUChar(delta + am_sz); in disInstr_X86_WRK()
14611 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14619 modrm = getIByte(delta); in disInstr_X86_WRK()
14620 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14624 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14632 modrm = getUChar(delta); in disInstr_X86_WRK()
14633 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14636 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14644 modrm = getUChar(delta); in disInstr_X86_WRK()
14645 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14648 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14656 modrm = getIByte(delta); in disInstr_X86_WRK()
14657 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14659 delta = dis_Grp2 ( sorb, delta, modrm, am_sz, d_sz, sz, in disInstr_X86_WRK()
14670 delta = dis_Grp3 ( sorb, pfx_lock, 1, delta, &decode_OK ); in disInstr_X86_WRK()
14677 delta = dis_Grp3 ( sorb, pfx_lock, sz, delta, &decode_OK ); in disInstr_X86_WRK()
14687 delta = dis_Grp4 ( sorb, pfx_lock, delta, &decode_OK ); in disInstr_X86_WRK()
14697 delta = dis_Grp5 ( sorb, pfx_lock, sz, delta, &dres, &decode_OK ); in disInstr_X86_WRK()
14706 opc = getIByte(delta); delta++; in disInstr_X86_WRK()
14713 modrm = getUChar(delta); in disInstr_X86_WRK()
14714 am_sz = lengthAMode(delta); in disInstr_X86_WRK()
14715 d32 = getSDisp8(delta + am_sz); in disInstr_X86_WRK()
14716 delta = dis_Grp8_Imm ( sorb, pfx_lock, delta, modrm, in disInstr_X86_WRK()
14726 delta = dis_bs_E_G ( sorb, sz, delta, True ); in disInstr_X86_WRK()
14729 delta = dis_bs_E_G ( sorb, sz, delta, False ); in disInstr_X86_WRK()
14756 delta = dis_bt_G_E ( vbi, sorb, pfx_lock, sz, delta, BtOpNone ); in disInstr_X86_WRK()
14759 delta = dis_bt_G_E ( vbi, sorb, pfx_lock, sz, delta, BtOpReset ); in disInstr_X86_WRK()
14762 delta = dis_bt_G_E ( vbi, sorb, pfx_lock, sz, delta, BtOpSet ); in disInstr_X86_WRK()
14765 delta = dis_bt_G_E ( vbi, sorb, pfx_lock, sz, delta, BtOpComp ); in disInstr_X86_WRK()
14786 delta = dis_cmov_E_G(sorb, sz, (X86Condcode)(opc - 0x40), delta); in disInstr_X86_WRK()
14792 delta = dis_cmpxchg_G_E ( sorb, pfx_lock, 1, delta ); in disInstr_X86_WRK()
14795 delta = dis_cmpxchg_G_E ( sorb, pfx_lock, sz, delta ); in disInstr_X86_WRK()
14817 modrm = getIByte(delta); in disInstr_X86_WRK()
14820 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
14821 delta += alen; in disInstr_X86_WRK()
15001 delta = dis_movx_E_G ( sorb, delta, 1, sz, False ); in disInstr_X86_WRK()
15007 delta = dis_movx_E_G ( sorb, delta, 2, 4, False ); in disInstr_X86_WRK()
15013 delta = dis_movx_E_G ( sorb, delta, 1, sz, True ); in disInstr_X86_WRK()
15019 delta = dis_movx_E_G ( sorb, delta, 2, sz, True ); in disInstr_X86_WRK()
15040 delta = dis_mul_E_G ( sorb, sz, delta ); in disInstr_X86_WRK()
15046 modrm = getUChar(delta); in disInstr_X86_WRK()
15048 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
15049 delta += alen; in disInstr_X86_WRK()
15072 jmpDelta = (Int)getUDisp32(delta); in disInstr_X86_WRK()
15073 d32 = (((Addr32)guest_EIP_bbstart)+delta+4) + jmpDelta; in disInstr_X86_WRK()
15074 delta += 4; in disInstr_X86_WRK()
15090 IRConst_U32(guest_EIP_bbstart+delta), in disInstr_X86_WRK()
15102 (Addr32)(guest_EIP_bbstart+delta)) ) { in disInstr_X86_WRK()
15113 dres.continueAt = guest_EIP_bbstart + delta; in disInstr_X86_WRK()
15120 (Addr32)(guest_EIP_bbstart+delta), d32); in disInstr_X86_WRK()
15177 modrm = getIByte(delta); in disInstr_X86_WRK()
15179 delta++; in disInstr_X86_WRK()
15184 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
15185 delta += alen; in disInstr_X86_WRK()
15194 modrm = getIByte(delta); in disInstr_X86_WRK()
15195 d32 = delta + lengthAMode(delta); in disInstr_X86_WRK()
15197 delta = dis_SHLRD_Gv_Ev ( in disInstr_X86_WRK()
15198 sorb, delta, modrm, sz, in disInstr_X86_WRK()
15203 modrm = getIByte(delta); in disInstr_X86_WRK()
15204 delta = dis_SHLRD_Gv_Ev ( in disInstr_X86_WRK()
15205 sorb, delta, modrm, sz, in disInstr_X86_WRK()
15211 modrm = getIByte(delta); in disInstr_X86_WRK()
15212 d32 = delta + lengthAMode(delta); in disInstr_X86_WRK()
15214 delta = dis_SHLRD_Gv_Ev ( in disInstr_X86_WRK()
15215 sorb, delta, modrm, sz, in disInstr_X86_WRK()
15220 modrm = getIByte(delta); in disInstr_X86_WRK()
15221 delta = dis_SHLRD_Gv_Ev ( in disInstr_X86_WRK()
15222 sorb, delta, modrm, sz, in disInstr_X86_WRK()
15256 delta = dis_xadd_G_E ( sorb, pfx_lock, 1, delta, &decodeOK ); in disInstr_X86_WRK()
15262 delta = dis_xadd_G_E ( sorb, pfx_lock, sz, delta, &decodeOK ); in disInstr_X86_WRK()
15339 Int delta0 = delta-1; in disInstr_X86_WRK()
15347 delta = dis_MMX ( &decode_OK, sorb, sz, delta-1 ); in disInstr_X86_WRK()
15349 delta = delta0; in disInstr_X86_WRK()
15371 modrm = getUChar(delta); in disInstr_X86_WRK()
15375 addr = disAMode ( &alen, sorb, delta, dis_buf ); in disInstr_X86_WRK()
15376 delta += alen; in disInstr_X86_WRK()
15401 jmp_lit(&dres, Ijk_Sys_syscall, ((Addr32)guest_EIP_bbstart)+delta); in disInstr_X86_WRK()
15451 stmt( IRStmt_Put( OFFB_EIP, mkU32(guest_EIP_bbstart + delta) ) ); in disInstr_X86_WRK()
15464 dres.len = delta - delta_start; in disInstr_X86_WRK()
15484 Long delta, in disInstr_X86() argument
15502 guest_EIP_bbstart = (Addr32)toUInt(guest_IP - delta); in disInstr_X86()
15509 delta, archinfo, abiinfo, sigill_diag_IN ); in disInstr_X86()
15529 delta, archinfo, abiinfo, sigill_diag_IN ); in disInstr_X86()