• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching refs:ty

526 static IRTemp newTemp ( IRType ty )  in newTemp()  argument
528 vassert(isPlausibleIRType(ty)); in newTemp()
529 return newIRTemp( irsb->tyenv, ty ); in newTemp()
658 static IRExpr* load ( IRType ty, IRExpr* addr ) in load() argument
661 return IRExpr_Load(Iend_BE, ty, addr); in load()
663 return IRExpr_Load(Iend_LE, ty, addr); in load()
1012 static IROp mkSzOp ( IRType ty, IROp op8 ) in mkSzOp() argument
1015 vassert(ty == Ity_I8 || ty == Ity_I16 || in mkSzOp()
1016 ty == Ity_I32 || ty == Ity_I64); in mkSzOp()
1022 adj = ty==Ity_I8 ? 0 : (ty==Ity_I16 ? 1 : (ty==Ity_I32 ? 2 : 3)); in mkSzOp()
1027 static Addr64 mkSzAddr ( IRType ty, Addr64 addr ) in mkSzAddr() argument
1029 vassert(ty == Ity_I32 || ty == Ity_I64); in mkSzAddr()
1030 return ( ty == Ity_I64 ? in mkSzAddr()
1036 static IRExpr* mkSzImm ( IRType ty, ULong imm64 ) in mkSzImm() argument
1038 vassert(ty == Ity_I32 || ty == Ity_I64); in mkSzImm()
1039 return ty == Ity_I64 ? mkU64(imm64) : mkU32((UInt)imm64); in mkSzImm()
1043 static IRConst* mkSzConst ( IRType ty, ULong imm64 ) in mkSzConst() argument
1045 vassert(ty == Ity_I32 || ty == Ity_I64); in mkSzConst()
1046 return ( ty == Ity_I64 ? in mkSzConst()
1052 static IRExpr* mkSzExtendS16 ( IRType ty, UInt imm16 ) in mkSzExtendS16() argument
1054 vassert(ty == Ity_I32 || ty == Ity_I64); in mkSzExtendS16()
1055 return ( ty == Ity_I64 ? in mkSzExtendS16()
1061 static IRExpr* mkSzExtendS32 ( IRType ty, UInt imm32 ) in mkSzExtendS32() argument
1063 vassert(ty == Ity_I32 || ty == Ity_I64); in mkSzExtendS32()
1064 return ( ty == Ity_I64 ? in mkSzExtendS32()
1070 static IRExpr* mkNarrowTo8 ( IRType ty, IRExpr* src ) in mkNarrowTo8() argument
1072 vassert(ty == Ity_I32 || ty == Ity_I64); in mkNarrowTo8()
1073 return ty == Ity_I64 ? unop(Iop_64to8, src) : unop(Iop_32to8, src); in mkNarrowTo8()
1076 static IRExpr* mkNarrowTo16 ( IRType ty, IRExpr* src ) in mkNarrowTo16() argument
1078 vassert(ty == Ity_I32 || ty == Ity_I64); in mkNarrowTo16()
1079 return ty == Ity_I64 ? unop(Iop_64to16, src) : unop(Iop_32to16, src); in mkNarrowTo16()
1082 static IRExpr* mkNarrowTo32 ( IRType ty, IRExpr* src ) in mkNarrowTo32() argument
1084 vassert(ty == Ity_I32 || ty == Ity_I64); in mkNarrowTo32()
1085 return ty == Ity_I64 ? unop(Iop_64to32, src) : src; in mkNarrowTo32()
1089 static IRExpr* mkWidenFrom8 ( IRType ty, IRExpr* src, Bool sined ) in mkWidenFrom8() argument
1092 vassert(ty == Ity_I32 || ty == Ity_I64); in mkWidenFrom8()
1093 if (sined) op = (ty==Ity_I32) ? Iop_8Sto32 : Iop_8Sto64; in mkWidenFrom8()
1094 else op = (ty==Ity_I32) ? Iop_8Uto32 : Iop_8Uto64; in mkWidenFrom8()
1098 static IRExpr* mkWidenFrom16 ( IRType ty, IRExpr* src, Bool sined ) in mkWidenFrom16() argument
1101 vassert(ty == Ity_I32 || ty == Ity_I64); in mkWidenFrom16()
1102 if (sined) op = (ty==Ity_I32) ? Iop_16Sto32 : Iop_16Sto64; in mkWidenFrom16()
1103 else op = (ty==Ity_I32) ? Iop_16Uto32 : Iop_16Uto64; in mkWidenFrom16()
1107 static IRExpr* mkWidenFrom32 ( IRType ty, IRExpr* src, Bool sined ) in mkWidenFrom32() argument
1109 vassert(ty == Ity_I32 || ty == Ity_I64); in mkWidenFrom32()
1110 if (ty == Ity_I32) in mkWidenFrom32()
1164 IRType ty = mode64 ? Ity_I64 : Ity_I32; in getIReg() local
1166 return IRExpr_Get( integerGuestRegOffset(archreg), ty ); in getIReg()
1172 IRType ty = mode64 ? Ity_I64 : Ity_I32; in putIReg() local
1174 vassert(typeOfIRExpr(irsb->tyenv, e) == ty ); in putIReg()
1514 static IRTemp gen_POPCOUNT ( IRType ty, IRTemp src, _popcount_data_type data_type ) in gen_POPCOUNT() argument
1528 vassert(ty == Ity_I64 || ty == Ity_I32); in gen_POPCOUNT()
1530 if (ty == Ity_I32) { in gen_POPCOUNT()
1533 mask[idx] = newTemp(ty); in gen_POPCOUNT()
1543 nyu = newTemp(ty); in gen_POPCOUNT()
1671 IRType ty = mode64 ? Ity_I64 : Ity_I32; in ea_rA_idxd() local
1674 return binop(mkSzOp(ty, Iop_Add8), getIReg(rA), getIReg(rB)); in ea_rA_idxd()
1680 IRType ty = mode64 ? Ity_I64 : Ity_I32; in ea_rA_simm() local
1682 return binop(mkSzOp(ty, Iop_Add8), getIReg(rA), in ea_rA_simm()
1683 mkSzExtendS16(ty, simm16)); in ea_rA_simm()
1689 IRType ty = mode64 ? Ity_I64 : Ity_I32; in ea_rAor0() local
1692 return mkSzImm(ty, 0); in ea_rAor0()
1709 IRType ty = mode64 ? Ity_I64 : Ity_I32; in ea_rAor0_simm() local
1712 return mkSzExtendS16(ty, simm16); in ea_rAor0_simm()
1722 IRType ty = mode64 ? Ity_I64 : Ity_I32; in addr_align() local
1734 vassert(typeOfIRExpr(irsb->tyenv,addr) == ty); in addr_align()
1735 return binop( mkSzOp(ty, Iop_And8), addr, mkSzImm(ty, mask) ); in addr_align()
2368 static void set_XER_OV ( IRType ty, UInt op, IRExpr* res, in set_XER_OV() argument
2371 if (ty == Ity_I32) in set_XER_OV()
2676 static void set_XER_CA ( IRType ty, UInt op, IRExpr* res, in set_XER_CA() argument
2679 if (ty == Ity_I32) in set_XER_CA()
2693 IRType ty = mode64 ? Ity_I64 : Ity_I32; in getGST() local
2696 return IRExpr_Get( OFFB_SPRG3_RO, ty ); in getGST()
2699 return IRExpr_Get( OFFB_CIA, ty ); in getGST()
2702 return IRExpr_Get( OFFB_LR, ty ); in getGST()
2705 return IRExpr_Get( OFFB_CTR, ty ); in getGST()
2749 return IRExpr_Get( OFFB_TFHAR, ty ); in getGST()
2752 return IRExpr_Get( OFFB_TEXASR, ty ); in getGST()
2755 return IRExpr_Get( OFFB_TEXASRU, ty ); in getGST()
2758 return IRExpr_Get( OFFB_TFIAR, ty ); in getGST()
2761 return IRExpr_Get( OFFB_PPR, ty ); in getGST()
2764 return unop( Iop_64HIto32, IRExpr_Get( OFFB_PPR, ty ) ); in getGST()
2767 return IRExpr_Get( OFFB_PSPB, ty ); in getGST()
2877 IRType ty = mode64 ? Ity_I64 : Ity_I32; in putGST() local
2882 vassert( ty_src == ty ); in putGST()
2886 vassert( ty_src == ty ); in putGST()
2890 vassert( ty_src == ty ); in putGST()
2894 vassert( ty_src == ty ); in putGST()
2921 vassert( ty_src == ty ); in putGST()
2926 vassert( ty_src == ty ); in putGST()
3025 IRExpr_Get( OFFB_PPR, ty ), in putGST()
3046 IRType ty = mode64 ? Ity_I64 : Ity_I32; in putGST_masked() local
3123 mkSzConst( ty, nextInsnAddr()), OFFB_CIA )); in putGST_masked()
3485 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_arith() local
3486 IRTemp rA = newTemp(ty); in dis_int_arith()
3487 IRTemp rB = newTemp(ty); in dis_int_arith()
3488 IRTemp rD = newTemp(ty); in dis_int_arith()
3499 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3500 mkSzExtendS16(ty, uimm16) ) ); in dis_int_arith()
3501 set_XER_CA( ty, PPCG_FLAG_OP_ADD, in dis_int_arith()
3502 mkexpr(rD), mkexpr(rA), mkSzExtendS16(ty, uimm16), in dis_int_arith()
3503 mkSzImm(ty, 0)/*old xer.ca, which is ignored*/ ); in dis_int_arith()
3508 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3509 mkSzExtendS16(ty, uimm16) ) ); in dis_int_arith()
3510 set_XER_CA( ty, PPCG_FLAG_OP_ADD, in dis_int_arith()
3511 mkexpr(rD), mkexpr(rA), mkSzExtendS16(ty, uimm16), in dis_int_arith()
3512 mkSzImm(ty, 0)/*old xer.ca, which is ignored*/ ); in dis_int_arith()
3522 assign( rD, mkSzExtendS16(ty, uimm16) ); in dis_int_arith()
3525 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3526 mkSzExtendS16(ty, uimm16) ) ); in dis_int_arith()
3534 assign( rD, mkSzExtendS32(ty, uimm16 << 16) ); in dis_int_arith()
3537 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3538 mkSzExtendS32(ty, uimm16 << 16) ) ); in dis_int_arith()
3547 mkSzExtendS16(ty, uimm16))) ); in dis_int_arith()
3551 mkSzExtendS16(ty, uimm16))) ); in dis_int_arith()
3557 assign( rD, binop( mkSzOp(ty, Iop_Sub8), in dis_int_arith()
3558 mkSzExtendS16(ty, uimm16), in dis_int_arith()
3560 set_XER_CA( ty, PPCG_FLAG_OP_SUBFI, in dis_int_arith()
3561 mkexpr(rD), mkexpr(rA), mkSzExtendS16(ty, uimm16), in dis_int_arith()
3562 mkSzImm(ty, 0)/*old xer.ca, which is ignored*/ ); in dis_int_arith()
3574 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3577 set_XER_OV( ty, PPCG_FLAG_OP_ADD, in dis_int_arith()
3586 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3588 set_XER_CA( ty, PPCG_FLAG_OP_ADD, in dis_int_arith()
3590 mkSzImm(ty, 0)/*old xer.ca, which is ignored*/ ); in dis_int_arith()
3592 set_XER_OV( ty, PPCG_FLAG_OP_ADD, in dis_int_arith()
3598 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3603 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3604 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3605 binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3607 set_XER_CA( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3611 set_XER_OV( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3618 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3629 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3630 min_one = mkSzImm(ty, (Long)-1); in dis_int_arith()
3631 assign( rD, binop( mkSzOp(ty, Iop_Add8), mkexpr(rA), in dis_int_arith()
3632 binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3634 set_XER_CA( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3638 set_XER_OV( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3645 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3655 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3656 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3658 set_XER_CA( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3659 mkexpr(rD), mkexpr(rA), mkSzImm(ty, 0), in dis_int_arith()
3662 set_XER_OV( ty, PPCG_FLAG_OP_ADDE, in dis_int_arith()
3663 mkexpr(rD), mkexpr(rA), mkSzImm(ty, 0) ); in dis_int_arith()
3685 set_XER_OV( ty, PPCG_FLAG_OP_DIVW, in dis_int_arith()
3691 set_XER_OV( ty, PPCG_FLAG_OP_DIVW, in dis_int_arith()
3716 set_XER_OV( ty, PPCG_FLAG_OP_DIVWU, in dis_int_arith()
3722 set_XER_OV( ty, PPCG_FLAG_OP_DIVWU, in dis_int_arith()
3784 set_XER_OV( ty, PPCG_FLAG_OP_MULLW, in dis_int_arith()
3793 set_XER_OV( ty, PPCG_FLAG_OP_MULLW, in dis_int_arith()
3808 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3809 unop( mkSzOp(ty, Iop_Not8), mkexpr(rA) ), in dis_int_arith()
3810 mkSzImm(ty, 1)) ); in dis_int_arith()
3812 set_XER_OV( ty, PPCG_FLAG_OP_NEG, in dis_int_arith()
3822 assign( rD, binop( mkSzOp(ty, Iop_Sub8), in dis_int_arith()
3825 set_XER_OV( ty, PPCG_FLAG_OP_SUBF, in dis_int_arith()
3835 assign( rD, binop( mkSzOp(ty, Iop_Sub8), in dis_int_arith()
3837 set_XER_CA( ty, PPCG_FLAG_OP_SUBFC, in dis_int_arith()
3839 mkSzImm(ty, 0)/*old xer.ca, which is ignored*/ ); in dis_int_arith()
3841 set_XER_OV( ty, PPCG_FLAG_OP_SUBFC, in dis_int_arith()
3847 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3852 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3853 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3854 unop( mkSzOp(ty, Iop_Not8), mkexpr(rA)), in dis_int_arith()
3855 binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3857 set_XER_CA( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3861 set_XER_OV( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3868 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3879 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3880 min_one = mkSzImm(ty, (Long)-1); in dis_int_arith()
3881 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3882 unop( mkSzOp(ty, Iop_Not8), mkexpr(rA)), in dis_int_arith()
3883 binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3885 set_XER_CA( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3889 set_XER_OV( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3896 IRTemp old_xer_ca = newTemp(ty); in dis_int_arith()
3906 assign( old_xer_ca, mkWidenFrom32(ty, getXER_CA32(), False) ); in dis_int_arith()
3907 assign( rD, binop( mkSzOp(ty, Iop_Add8), in dis_int_arith()
3908 unop( mkSzOp(ty, Iop_Not8), in dis_int_arith()
3910 set_XER_CA( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3911 mkexpr(rD), mkexpr(rA), mkSzImm(ty, 0), in dis_int_arith()
3914 set_XER_OV( ty, PPCG_FLAG_OP_SUBFE, in dis_int_arith()
3915 mkexpr(rD), mkexpr(rA), mkSzImm(ty, 0) ); in dis_int_arith()
3953 set_XER_OV( ty, PPCG_FLAG_OP_MULLD, in dis_int_arith()
3964 set_XER_OV( ty, PPCG_FLAG_OP_DIVW, in dis_int_arith()
3979 set_XER_OV( ty, PPCG_FLAG_OP_DIVWU, in dis_int_arith()
4122 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_cmp() local
4140 b = mkSzExtendS16( ty, uimm16 ); in dis_int_cmp()
4144 a = mkNarrowTo32( ty, a ); in dis_int_cmp()
4145 b = mkNarrowTo32( ty, b ); in dis_int_cmp()
4153 b = mkSzImm( ty, uimm16 ); in dis_int_cmp()
4157 a = mkNarrowTo32( ty, a ); in dis_int_cmp()
4158 b = mkNarrowTo32( ty, b ); in dis_int_cmp()
4185 a = mkNarrowTo32( ty, a ); in dis_int_cmp()
4186 b = mkNarrowTo32( ty, b ); in dis_int_cmp()
4204 a = mkNarrowTo32( ty, a ); in dis_int_cmp()
4205 b = mkNarrowTo32( ty, b ); in dis_int_cmp()
4240 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_logic() local
4241 IRTemp rS = newTemp(ty); in dis_int_logic()
4242 IRTemp rA = newTemp(ty); in dis_int_logic()
4243 IRTemp rB = newTemp(ty); in dis_int_logic()
4253 assign( rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS), in dis_int_logic()
4254 mkSzImm(ty, uimm16)) ); in dis_int_logic()
4261 assign( rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS), in dis_int_logic()
4262 mkSzImm(ty, uimm16 << 16)) ); in dis_int_logic()
4269 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS), in dis_int_logic()
4270 mkSzImm(ty, uimm16)) ); in dis_int_logic()
4275 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS), in dis_int_logic()
4276 mkSzImm(ty, uimm16 << 16)) ); in dis_int_logic()
4281 assign( rA, binop( mkSzOp(ty, Iop_Xor8), mkexpr(rS), in dis_int_logic()
4282 mkSzImm(ty, uimm16)) ); in dis_int_logic()
4287 assign( rA, binop( mkSzOp(ty, Iop_Xor8), mkexpr(rS), in dis_int_logic()
4288 mkSzImm(ty, uimm16 << 16)) ); in dis_int_logic()
4299 assign(rA, binop( mkSzOp(ty, Iop_And8), in dis_int_logic()
4306 assign(rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS), in dis_int_logic()
4307 unop( mkSzOp(ty, Iop_Not8), in dis_int_logic()
4325 assign(rA, mkWidenFrom32(ty, in dis_int_logic()
4338 assign( rA, unop( mkSzOp(ty, Iop_Not8), in dis_int_logic()
4339 binop( mkSzOp(ty, Iop_Xor8), in dis_int_logic()
4374 assign( rA, unop( mkSzOp(ty, Iop_Not8), in dis_int_logic()
4375 binop( mkSzOp(ty, Iop_And8), in dis_int_logic()
4382 assign( rA, unop( mkSzOp(ty, Iop_Not8), in dis_int_logic()
4383 binop( mkSzOp(ty, Iop_Or8), in dis_int_logic()
4394 assign( rA, binop( mkSzOp(ty, Iop_Or8), in dis_int_logic()
4402 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS), in dis_int_logic()
4403 unop(mkSzOp(ty, Iop_Not8), mkexpr(rB)))); in dis_int_logic()
4409 assign( rA, binop( mkSzOp(ty, Iop_Xor8), in dis_int_logic()
4485 IRTemp result = gen_POPCOUNT(ty, rS, DWORD); in dis_int_logic()
4502 IRTemp result = gen_POPCOUNT(ty, rS, WORD); in dis_int_logic()
4522 IRTemp result = gen_POPCOUNT(ty, rS, BYTE); in dis_int_logic()
4616 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_parity() local
4618 IRTemp rS = newTemp(ty); in dis_int_parity()
4619 IRTemp rA = newTemp(ty); in dis_int_parity()
4628 IRTemp rS1 = newTemp(ty); in dis_int_parity()
4629 IRTemp rS2 = newTemp(ty); in dis_int_parity()
4630 IRTemp rS3 = newTemp(ty); in dis_int_parity()
4631 IRTemp rS4 = newTemp(ty); in dis_int_parity()
4632 IRTemp rS5 = newTemp(ty); in dis_int_parity()
4633 IRTemp rS6 = newTemp(ty); in dis_int_parity()
4634 IRTemp rS7 = newTemp(ty); in dis_int_parity()
4751 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_rot() local
4752 IRTemp rS = newTemp(ty); in dis_int_rot()
4753 IRTemp rA = newTemp(ty); in dis_int_rot()
4754 IRTemp rB = newTemp(ty); in dis_int_rot()
4755 IRTemp rot = newTemp(ty); in dis_int_rot()
4950 IRTemp rA_orig = newTemp(ty); in dis_int_rot()
4999 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_load() local
5000 IRTemp EA = newTemp(ty); in dis_int_load()
5026 putIReg( rD_addr, mkWidenFrom8(ty, val, False) ); in dis_int_load()
5036 putIReg( rD_addr, mkWidenFrom8(ty, val, False) ); in dis_int_load()
5043 putIReg( rD_addr, mkWidenFrom16(ty, val, True) ); in dis_int_load()
5053 putIReg( rD_addr, mkWidenFrom16(ty, val, True) ); in dis_int_load()
5060 putIReg( rD_addr, mkWidenFrom16(ty, val, False) ); in dis_int_load()
5070 putIReg( rD_addr, mkWidenFrom16(ty, val, False) ); in dis_int_load()
5077 putIReg( rD_addr, mkWidenFrom32(ty, val, False) ); in dis_int_load()
5087 putIReg( rD_addr, mkWidenFrom32(ty, val, False) ); in dis_int_load()
5106 putIReg( rD_addr, mkWidenFrom8(ty, val, False) ); in dis_int_load()
5113 putIReg( rD_addr, mkWidenFrom8(ty, val, False) ); in dis_int_load()
5123 putIReg( rD_addr, mkWidenFrom16(ty, val, True) ); in dis_int_load()
5130 putIReg( rD_addr, mkWidenFrom16(ty, val, True) ); in dis_int_load()
5140 putIReg( rD_addr, mkWidenFrom16(ty, val, False) ); in dis_int_load()
5147 putIReg( rD_addr, mkWidenFrom16(ty, val, False) ); in dis_int_load()
5157 putIReg( rD_addr, mkWidenFrom32(ty, val, False) ); in dis_int_load()
5164 putIReg( rD_addr, mkWidenFrom32(ty, val, False) ); in dis_int_load()
5239 IRTemp high = newTemp(ty); in dis_int_load()
5240 IRTemp low = newTemp(ty); in dis_int_load()
5249 assign(high, load(ty, mkexpr( EA ) ) ); in dis_int_load()
5250 assign(low, load(ty, binop( Iop_Add64, in dis_int_load()
5254 assign(low, load(ty, mkexpr( EA ) ) ); in dis_int_load()
5255 assign(high, load(ty, binop( Iop_Add64, in dis_int_load()
5260 assign(high, load(ty, binop( Iop_Add32, in dis_int_load()
5263 assign(low, load(ty, binop( Iop_Add32, in dis_int_load()
5297 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_store() local
5298 IRTemp rS = newTemp(ty); in dis_int_store()
5299 IRTemp rB = newTemp(ty); in dis_int_store()
5300 IRTemp EA = newTemp(ty); in dis_int_store()
5320 store( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) ); in dis_int_store()
5330 store( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) ); in dis_int_store()
5335 store( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) ); in dis_int_store()
5345 store( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) ); in dis_int_store()
5350 store( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) ); in dis_int_store()
5360 store( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) ); in dis_int_store()
5378 store( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) ); in dis_int_store()
5383 store( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) ); in dis_int_store()
5393 store( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) ); in dis_int_store()
5398 store( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) ); in dis_int_store()
5408 store( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) ); in dis_int_store()
5413 store( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) ); in dis_int_store()
5461 IRTemp EA_hi = newTemp(ty); in dis_int_store()
5462 IRTemp EA_lo = newTemp(ty); in dis_int_store()
5519 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_ldst_mult() local
5521 IRTemp EA = newTemp(ty); in dis_int_ldst_mult()
5537 putIReg( r, mkWidenFrom32(ty, load(Ity_I32, irx_addr ), in dis_int_ldst_mult()
5547 store( irx_addr, mkNarrowTo32(ty, getIReg(r)) ); in dis_int_ldst_mult()
5573 IRType ty = mode64 ? Ity_I64 : Ity_I32; in generate_lsw_sequence() local
5582 mkSzConst( ty, nextInsnAddr()), OFFB_CIA )); in generate_lsw_sequence()
5586 putIReg(rD, mkSzImm(ty, 0)); in generate_lsw_sequence()
5594 ty, in generate_lsw_sequence()
5597 mkNarrowTo32(ty, getIReg(rD)), in generate_lsw_sequence()
5603 binop( mkSzOp(ty,Iop_Add8), in generate_lsw_sequence()
5604 e_EA, mkSzImm(ty,i))) in generate_lsw_sequence()
5625 IRType ty = mode64 ? Ity_I64 : Ity_I32; in generate_stsw_sequence() local
5634 mkSzConst( ty, nextInsnAddr() ), OFFB_CIA )); in generate_stsw_sequence()
5643 binop( mkSzOp(ty,Iop_Add8), e_EA, mkSzImm(ty,i)), in generate_stsw_sequence()
5646 mkNarrowTo32( ty, getIReg(rS) ), in generate_stsw_sequence()
5665 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_ldst_str() local
5666 IRTemp t_EA = newTemp(ty); in dis_int_ldst_str()
5762 IRType ty = mode64 ? Ity_I64 : Ity_I32; in branch_ctr_ok() local
5770 binop( mkSzOp(ty, Iop_CmpEQ8), in branch_ctr_ok()
5772 mkSzImm(ty,0))) ); in branch_ctr_ok()
5775 binop( mkSzOp(ty, Iop_CmpNE8), in branch_ctr_ok()
5777 mkSzImm(ty,0))) ); in branch_ctr_ok()
5837 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_branch() local
5843 IRExpr* e_nia = mkSzImm(ty, nextInsnAddr()); in dis_branch()
5844 IRConst* c_nia = mkSzConst(ty, nextInsnAddr()); in dis_branch()
5845 IRTemp lr_old = newTemp(ty); in dis_branch()
5861 tgt = mkSzAddr( ty, extend_s_26to64(LI_u26) ); in dis_branch()
5863 tgt = mkSzAddr( ty, guest_CIA_curr_instr + in dis_branch()
5878 IRTemp t_tgt = newTemp(ty); in dis_branch()
5890 putGST( PPC_GST_CIA, mkSzImm(ty, tgt) ); in dis_branch()
5900 binop(mkSzOp(ty, Iop_Sub8), in dis_branch()
5901 getGST( PPC_GST_CTR ), mkSzImm(ty, 1)) ); in dis_branch()
5915 tgt = mkSzAddr(ty, extend_s_16to64(BD_u16)); in dis_branch()
5917 tgt = mkSzAddr(ty, guest_CIA_curr_instr + in dis_branch()
5926 mkSzConst(ty, tgt), OFFB_CIA ) ); in dis_branch()
5983 binop(mkSzOp(ty, Iop_Sub8), in dis_branch()
5984 getGST( PPC_GST_CTR ), mkSzImm(ty, 1)) ); in dis_branch()
6228 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_trapi() local
6261 putGST( PPC_GST_CIA, mkSzImm( ty, nextInsnAddr() )); in dis_trapi()
6278 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_trap() local
6315 putGST( PPC_GST_CIA, mkSzImm( ty, nextInsnAddr() )); in dis_trap()
6330 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_syslink() local
6348 putGST( PPC_GST_CIA, mkSzImm( ty, nextInsnAddr() )); in dis_syslink()
6380 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_memsync() local
6381 IRTemp EA = newTemp(ty); in dis_memsync()
6436 putIReg( rD_addr, mkWidenFrom32(ty, mkexpr(res), False) ); in dis_memsync()
6452 putIReg( rD_addr, mkWidenFrom8(ty, mkexpr(res), False) ); in dis_memsync()
6471 putIReg( rD_addr, mkWidenFrom16(ty, mkexpr(res), False) ); in dis_memsync()
6491 assign( rS, mkNarrowTo32(ty, getIReg(rS_addr)) ); in dis_memsync()
6522 assign( rS, mkNarrowTo8(ty, getIReg(rS_addr)) ); in dis_memsync()
6556 assign( rS, mkNarrowTo16(ty, getIReg(rS_addr)) ); in dis_memsync()
6669 IRTemp res_hi = newTemp(ty); in dis_memsync()
6670 IRTemp res_lo = newTemp(ty); in dis_memsync()
6711 IRTemp rS_hi = newTemp(ty); in dis_memsync()
6712 IRTemp rS_lo = newTemp(ty); in dis_memsync()
6787 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_shift() local
6788 IRTemp rA = newTemp(ty); in dis_int_shift()
6789 IRTemp rS = newTemp(ty); in dis_int_shift()
6790 IRTemp rB = newTemp(ty); in dis_int_shift()
6798 assign( rS_lo32, mkNarrowTo32(ty, mkexpr(rS)) ); in dis_int_shift()
6799 assign( rB_lo32, mkNarrowTo32(ty, mkexpr(rB)) ); in dis_int_shift()
6823 assign( rA, mkWidenFrom32(ty, e_tmp, /* Signed */False) ); in dis_int_shift()
6846 assign( rA, mkWidenFrom32(ty, e_tmp, /* Signed */True) ); in dis_int_shift()
6848 set_XER_CA( ty, PPCG_FLAG_OP_SRAW, in dis_int_shift()
6850 mkWidenFrom32(ty, mkexpr(rS_lo32), True), in dis_int_shift()
6851 mkWidenFrom32(ty, mkexpr(sh_amt), True ), in dis_int_shift()
6852 mkWidenFrom32(ty, getXER_CA32(), True) ); in dis_int_shift()
6870 set_XER_CA( ty, PPCG_FLAG_OP_SRAWI, in dis_int_shift()
6872 mkWidenFrom32(ty, mkexpr(rS_lo32), /* Syned */True), in dis_int_shift()
6873 mkSzImm(ty, sh_imm), in dis_int_shift()
6874 mkWidenFrom32(ty, getXER_CA32(), /* Syned */False) ); in dis_int_shift()
6899 assign( rA, mkWidenFrom32(ty, e_tmp, /* Signed */False) ); in dis_int_shift()
6945 set_XER_CA( ty, PPCG_FLAG_OP_SRAD, in dis_int_shift()
6947 mkWidenFrom32(ty, getXER_CA32(), /* Syned */False) ); in dis_int_shift()
6958 set_XER_CA( ty, PPCG_FLAG_OP_SRADI, in dis_int_shift()
6962 mkWidenFrom32(ty, getXER_CA32(), /* Syned */False) ); in dis_int_shift()
7052 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_int_ldst_rev() local
7053 IRTemp EA = newTemp(ty); in dis_int_ldst_rev()
7070 putIReg( rD_addr, mkWidenFrom32(ty, mkexpr(w2), in dis_int_ldst_rev()
7078 putIReg( rD_addr, mkWidenFrom32(ty, mkexpr(w2), in dis_int_ldst_rev()
7090 nextAddr = binop( mkSzOp( ty, Iop_Add8 ), mkexpr( EA ), in dis_int_ldst_rev()
7091 ty == Ity_I64 ? mkU64( 4 ) : mkU32( 4 ) ); in dis_int_ldst_rev()
7103 assign( w1, mkNarrowTo32(ty, getIReg(rS_addr)) ); in dis_int_ldst_rev()
7109 assign( w1, mkNarrowTo32(ty, getIReg(rS_addr)) ); in dis_int_ldst_rev()
7161 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_proc_ctl() local
7162 IRTemp rS = newTemp(ty); in dis_proc_ctl()
7205 putIReg( rD_addr, mkWidenFrom32(ty, getGST( PPC_GST_CR ), in dis_proc_ctl()
7211 putIReg( rD_addr, mkWidenFrom32(ty, getGST( PPC_GST_CR ), in dis_proc_ctl()
7224 putIReg( rD_addr, mkWidenFrom32(ty, getGST( PPC_GST_XER ), in dis_proc_ctl()
7265 putIReg( rD_addr, mkWidenFrom32(ty, getGST( PPC_GST_VRSAVE ), in dis_proc_ctl()
7292 mkWidenFrom32(ty, mkexpr(val), False/*unsigned*/) ); in dis_proc_ctl()
7313 mkWidenFrom32(ty, mkexpr(val), False/*unsigned*/) ); in dis_proc_ctl()
7340 mkWidenFrom32(ty, unop(Iop_64HIto32, mkexpr(val)), in dis_proc_ctl()
7382 mkNarrowTo32(ty, mkexpr(rS)), in dis_proc_ctl()
7393 putGST( PPC_GST_XER, mkNarrowTo32(ty, mkexpr(rS)) ); in dis_proc_ctl()
7405 putGST( PPC_GST_VRSAVE, mkNarrowTo32(ty, mkexpr(rS)) ); in dis_proc_ctl()
7488 IRTemp rA = newTemp(ty); in dis_proc_ctl()
7583 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_cache_manage() local
7646 IRTemp EA = newTemp(ty); in dis_cache_manage()
7647 IRTemp addr = newTemp(ty); in dis_cache_manage()
7690 IRTemp EA = newTemp(ty); in dis_cache_manage()
7691 IRTemp addr = newTemp(ty); in dis_cache_manage()
7696 assign( addr, binop( mkSzOp(ty, Iop_And8), in dis_cache_manage()
7698 mkSzImm(ty, ~(((ULong)lineszB)-1) )) ); in dis_cache_manage()
7700 putGST( PPC_GST_CMLEN, mkSzImm(ty, lineszB) ); in dis_cache_manage()
7705 putGST( PPC_GST_CIA, mkSzImm(ty, nextInsnAddr())); in dis_cache_manage()
7881 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_fp_load() local
7882 IRTemp EA = newTemp(ty); in dis_fp_load()
7883 IRTemp rA = newTemp(ty); in dis_fp_load()
7884 IRTemp rB = newTemp(ty); in dis_fp_load()
8020 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_fp_store() local
8021 IRTemp EA = newTemp(ty); in dis_fp_store()
8022 IRTemp rA = newTemp(ty); in dis_fp_store()
8023 IRTemp rB = newTemp(ty); in dis_fp_store()
9243 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_fp_pair() local
9244 IRTemp EA_hi = newTemp(ty); in dis_fp_pair()
9245 IRTemp EA_lo = newTemp(ty); in dis_fp_pair()
13759 IRType ty = Ity_I32; in dis_av_count_bitTranspose() local
13767 cnt_bits0_31 = gen_POPCOUNT(ty, bits0_31, BYTE); in dis_av_count_bitTranspose()
13768 cnt_bits32_63 = gen_POPCOUNT(ty, bits32_63, BYTE); in dis_av_count_bitTranspose()
13769 cnt_bits64_95 = gen_POPCOUNT(ty, bits64_95, BYTE); in dis_av_count_bitTranspose()
13770 cnt_bits96_127 = gen_POPCOUNT(ty, bits96_127, BYTE); in dis_av_count_bitTranspose()
13782 IRType ty = Ity_I32; in dis_av_count_bitTranspose() local
13791 cnt_bits0_31 = gen_POPCOUNT(ty, bits0_31, HWORD); in dis_av_count_bitTranspose()
13792 cnt_bits32_63 = gen_POPCOUNT(ty, bits32_63, HWORD); in dis_av_count_bitTranspose()
13793 cnt_bits64_95 = gen_POPCOUNT(ty, bits64_95, HWORD); in dis_av_count_bitTranspose()
13794 cnt_bits96_127 = gen_POPCOUNT(ty, bits96_127, HWORD); in dis_av_count_bitTranspose()
13806 IRType ty = Ity_I32; in dis_av_count_bitTranspose() local
13815 cnt_bits0_31 = gen_POPCOUNT(ty, bits0_31, WORD); in dis_av_count_bitTranspose()
13816 cnt_bits32_63 = gen_POPCOUNT(ty, bits32_63, WORD); in dis_av_count_bitTranspose()
13817 cnt_bits64_95 = gen_POPCOUNT(ty, bits64_95, WORD); in dis_av_count_bitTranspose()
13818 cnt_bits96_127 = gen_POPCOUNT(ty, bits96_127, WORD); in dis_av_count_bitTranspose()
13831 IRType ty = Ity_I64; in dis_av_count_bitTranspose() local
13841 cnt_bits0_63 = gen_POPCOUNT(ty, bits0_63, DWORD); in dis_av_count_bitTranspose()
13842 cnt_bits64_127 = gen_POPCOUNT(ty, bits64_127, DWORD); in dis_av_count_bitTranspose()
15526 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_vx_load() local
15527 IRTemp EA = newTemp( ty ); in dis_vx_load()
15596 IROp addOp = ty == Ity_I64 ? Iop_Add64 : Iop_Add32; in dis_vx_load()
15602 high_addr = binop( addOp, mkexpr( EA ), ty == Ity_I64 ? mkU64( ea_off ) in dis_vx_load()
15663 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_vx_store() local
15664 IRTemp EA = newTemp( ty ); in dis_vx_store()
15715 store( binop( mkSzOp( ty, Iop_Add8 ), mkexpr( EA ), in dis_vx_store()
15716 ty == Ity_I64 ? mkU64( 8 ) : mkU32( 8 ) ), low64 ); in dis_vx_store()
15734 irx_addr = binop( mkSzOp( ty, Iop_Add8 ), mkexpr( EA ), in dis_vx_store()
15735 ty == Ity_I64 ? mkU64( ea_off ) : mkU32( ea_off ) ); in dis_vx_store()
15738 irx_addr = binop( mkSzOp( ty, Iop_Add8 ), mkexpr( EA ), in dis_vx_store()
15739 ty == Ity_I64 ? mkU64( ea_off ) : mkU32( ea_off ) ); in dis_vx_store()
15742 irx_addr = binop( mkSzOp( ty, Iop_Add8 ), mkexpr( EA ), in dis_vx_store()
15743 ty == Ity_I64 ? mkU64( ea_off ) : mkU32( ea_off ) ); in dis_vx_store()
15889 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_av_load() local
15890 IRTemp EA = newTemp(ty); in dis_av_load()
15891 IRTemp EA_align16 = newTemp(ty); in dis_av_load()
15909 binop(Iop_And32, mkNarrowTo32(ty, mkexpr(EA)), in dis_av_load()
15916 binop(Iop_And32, mkNarrowTo32(ty, mkexpr(EA)), in dis_av_load()
15958 binop(Iop_And32, mkNarrowTo32(ty, mkexpr(EA)), in dis_av_load()
15965 binop(Iop_And32, mkNarrowTo32(ty, mkexpr(EA)), in dis_av_load()
16052 IRType ty = mode64 ? Ity_I64 : Ity_I32; in dis_av_store() local
16053 IRTemp EA = newTemp(ty); in dis_av_store()
16054 IRTemp addr_aligned = newTemp(ty); in dis_av_store()
16072 mkNarrowTo32(ty, mkexpr(EA)) )) ); in dis_av_store()
16089 mkNarrowTo8(ty, mkexpr(addr_aligned) )) ); in dis_av_store()
16106 mkNarrowTo8(ty, mkexpr(addr_aligned) )) ); in dis_av_store()
19014 IRType ty = mode64 ? Ity_I64 : Ity_I32; in disInstr_PPC_WRK() local
19045 delta = (Long)mkSzAddr(ty, (ULong)delta64); in disInstr_PPC_WRK()
19106 putGST( PPC_GST_CIA, mkSzImm( ty, guest_CIA_bbstart + delta )); in disInstr_PPC_WRK()
19117 putIReg(3, IRExpr_Get( OFFB_NRADDR, ty )); in disInstr_PPC_WRK()
19127 mkSzImm(ty, guest_CIA_bbstart + (Long)delta) ); in disInstr_PPC_WRK()
19133 mkSzImm(ty, guest_CIA_bbstart + (Long)delta) ); in disInstr_PPC_WRK()
19146 putIReg(3, IRExpr_Get( OFFB_NRADDR_GPR2, ty )); in disInstr_PPC_WRK()
19165 stmt(IRStmt_Put(OFFB_CMSTART, mkSzImm(ty, guest_CIA_curr_instr))); in disInstr_PPC_WRK()
19166 stmt(IRStmt_Put(OFFB_CMLEN, mkSzImm(ty, 20))); in disInstr_PPC_WRK()
19168 putGST( PPC_GST_CIA, mkSzImm( ty, guest_CIA_bbstart + delta )); in disInstr_PPC_WRK()
19934 putGST( PPC_GST_CIA, mkSzImm(ty, nextInsnAddr()) ); in disInstr_PPC_WRK()
20446 putGST( PPC_GST_CIA, mkSzImm(ty, guest_CIA_curr_instr) ); in disInstr_PPC_WRK()
20458 putGST( PPC_GST_CIA, mkSzImm(ty, guest_CIA_curr_instr + 4)); in disInstr_PPC_WRK()
20462 putGST( PPC_GST_CIA, mkSzImm(ty, dres.continueAt)); in disInstr_PPC_WRK()
20503 IRType ty; in disInstr_PPC() local
20512 ty = mode64 ? Ity_I64 : Ity_I32; in disInstr_PPC()
20542 guest_CIA_curr_instr = mkSzAddr(ty, guest_IP); in disInstr_PPC()
20543 guest_CIA_bbstart = mkSzAddr(ty, guest_IP - delta); in disInstr_PPC()