Lines Matching refs:rS
3977 IRTemp rS = newTemp(ty);
3983 assign( rS, getIReg(rS_addr) );
3989 assign( rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS),
3997 assign( rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS),
4005 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS),
4011 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS),
4017 assign( rA, binop( mkSzOp(ty, Iop_Xor8), mkexpr(rS),
4023 assign( rA, binop( mkSzOp(ty, Iop_Xor8), mkexpr(rS),
4036 mkexpr(rS), mkexpr(rB)));
4042 assign(rA, binop( mkSzOp(ty, Iop_And8), mkexpr(rS),
4057 lo32 = mode64 ? unop(Iop_64to32, mkexpr(rS)) : mkexpr(rS);
4067 // TODO: alternatively: assign(rA, verbose_Clz32(rS));
4076 mkexpr(rS), mkexpr(rB))) );
4087 assign( rA, unop(Iop_8Sto64, unop(Iop_64to8, mkexpr(rS))) );
4089 assign( rA, unop(Iop_8Sto32, unop(Iop_32to8, mkexpr(rS))) );
4101 unop(Iop_64to16, mkexpr(rS))) );
4104 unop(Iop_32to16, mkexpr(rS))) );
4112 mkexpr(rS), mkexpr(rB))) );
4120 mkexpr(rS), mkexpr(rB))) );
4126 assign( rA, mkexpr(rS) );
4131 mkexpr(rS), mkexpr(rB)) );
4138 assign( rA, binop( mkSzOp(ty, Iop_Or8), mkexpr(rS),
4146 mkexpr(rS), mkexpr(rB)) );
4157 assign(rA, unop(Iop_32Sto64, unop(Iop_64to32, mkexpr(rS))));
4168 irx = binop(Iop_CmpNE64, mkexpr(rS), mkU64(0));
4170 unop(Iop_Clz64, mkexpr(rS)),
4172 // TODO: alternatively: assign(rA, verbose_Clz64(rS));
4181 binop( Iop_64HLtoV128, mkU64(0), mkexpr(rS) ),
4187 unop( Iop_32UtoV128, mkexpr(rS) ),
4221 IRTemp result = gen_POPCOUNT(ty, rS, DWORD);
4232 assign(argLo, unop(Iop_64to32, mkexpr(rS)));
4233 assign(argHi, unop(Iop_64HIto32, mkexpr(rS)));
4238 IRTemp result = gen_POPCOUNT(ty, rS, WORD);
4251 assign(argLo, unop(Iop_64to32, mkexpr(rS)));
4252 assign(argHi, unop(Iop_64HIto32, mkexpr(rS)));
4258 IRTemp result = gen_POPCOUNT(ty, rS, BYTE);
4274 IRExpr * rS_expr = mkexpr(rS);
4354 IRTemp rS = newTemp(ty);
4381 assign( rS, getIReg(rS_addr) );
4386 assign( iTot1, unop(Iop_1Uto32, unop(to_bit, mkexpr(rS))) );
4387 assign( rS1, binop(shr_op, mkexpr(rS), mkU8(8)) );
4423 assign( iTot1, unop(Iop_1Uto32, unop(to_bit, mkexpr(rS))) );
4424 assign( rS1, binop(shr_op, mkexpr(rS), mkU8(8)) );
4488 IRTemp rS = newTemp(ty);
4496 assign( rS, getIReg(rS_addr) );
4508 r = ROTL( unop(Iop_64to32, mkexpr(rS) ), mkU8(sh_imm) );
4518 // rA = (ROTL(rS, Imm) & mask) | (rA & ~mask);
4520 r = ROTL(mkexpr(rS), mkU8(sh_imm));
4542 r = ROTL( unop(Iop_64to32, mkexpr(rS) ), mkU8(sh_imm) );
4556 assign( rA, binop(Iop_Shl32, mkexpr(rS), mkU8(sh_imm)) );
4563 assign( rA, binop(Iop_Shr32, mkexpr(rS), mkU8(MaskBeg)) );
4570 // rA = ROTL(rS, Imm) & mask
4572 ROTL(mkexpr(rS), mkU8(sh_imm)),
4590 r = ROTL( unop(Iop_64to32, mkexpr(rS)),
4597 // rA = ROTL(rS, rB[0-4]) & mask
4600 ROTL(mkexpr(rS),
4617 /* r = ROTL64( rS, rB_lo6) */
4618 r = ROTL( mkexpr(rS), unop(Iop_64to8, mkexpr(rB)) );
4639 r = ROTL(mkexpr(rS), mkU8(sh_imm));
4646 r = SHL(rS, sh_imm)
4658 assign( rA, binop(Iop_Shr64, mkexpr(rS), mkU8(msk_imm)) );
4662 r = ROTL(mkexpr(rS), mkU8(sh_imm));
4675 assign( rA, binop(Iop_Shl64, mkexpr(rS), mkU8(sh_imm)) );
4679 r = ROTL(mkexpr(rS), mkU8(sh_imm));
4689 r = ROTL(mkexpr(rS), mkU8(sh_imm));
5027 IRTemp rS = newTemp(ty);
5032 assign( rS, getIReg(rS_addr) );
5049 storeBE( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) );
5059 storeBE( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) );
5064 storeBE( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) );
5074 storeBE( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) );
5079 storeBE( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) );
5089 storeBE( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) );
5107 storeBE( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) );
5112 storeBE( mkexpr(EA), mkNarrowTo8(ty, mkexpr(rS)) );
5122 storeBE( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) );
5127 storeBE( mkexpr(EA), mkNarrowTo16(ty, mkexpr(rS)) );
5137 storeBE( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) );
5142 storeBE( mkexpr(EA), mkNarrowTo32(ty, mkexpr(rS)) );
5154 storeBE( mkexpr(EA), mkexpr(rS) );
5159 storeBE( mkexpr(EA), mkexpr(rS) );
5177 storeBE( mkexpr(EA), mkexpr(rS) );
5186 storeBE( mkexpr(EA), mkexpr(rS) );
5208 storeBE( mkexpr(EA_hi), mkexpr(rS) );
5340 Int rS, // first src register
5348 vassert(rS >= 0 && rS < 32);
5349 rS--; if (rS < 0) rS = 31;
5358 rS++; if (rS == 32) rS = 0;
5361 /* *(EA+i) = 32to8(rS >> shift) */
5367 mkNarrowTo32(ty, getIReg(rS)),
6158 IRTemp rS = newTemp(Ity_I32);
6170 assign( rS, mkNarrowTo32(ty, getIReg(rS_addr)) );
6174 stmt( IRStmt_LLSC(Iend_BE, resSC, mkexpr(EA), mkexpr(rS)) );
6183 whether rS is stored is dependent on that value. */
6249 IRTemp rS = newTemp(Ity_I64);
6263 assign( rS, getIReg(rS_addr) );
6267 stmt( IRStmt_LLSC(Iend_BE, resSC, mkexpr(EA), mkexpr(rS)) );
6276 whether rS is stored is dependent on that value. */
6388 IRTemp rS = newTemp(ty);
6395 assign( rS, getIReg(rS_addr) );
6397 assign( rS_lo32, mkNarrowTo32(ty, mkexpr(rS)) );
6405 /* rA = rS << rB */
6432 rA = Sar32( rS, amt > 31 ? 31 : amt )
6433 XER.CA = amt > 31 ? sign-of-rS : (computation as per srawi)
6479 /* rA = rS >>u rB */
6506 /* rA = rS << rB */
6516 mkexpr(rS),
6530 rA = Sar64( rS, amt > 63 ? 63 : amt )
6531 XER.CA = amt > 63 ? sign-of-rS : (computation as per srawi)
6538 mkexpr(rS),
6545 mkexpr(rA), mkexpr(rS), mkexpr(sh_amt),
6567 /* rA = rS >>u rB */
6577 mkexpr(rS),
6713 IRTemp rS = newTemp(Ity_I64);
6714 assign( rS, getIReg( rS_addr ) );
6716 assign(lo, unop(Iop_64HIto32, mkexpr(rS)));
6717 assign(hi, unop(Iop_64to32, mkexpr(rS)));
6757 IRTemp rS = newTemp(ty);
6758 assign( rS, getIReg(rS_addr) );
6961 mkNarrowTo32(ty, mkexpr(rS)),
6972 putGST( PPC_GST_XER, mkNarrowTo32(ty, mkexpr(rS)) );
6976 putGST( PPC_GST_LR, mkexpr(rS) );
6980 putGST( PPC_GST_CTR, mkexpr(rS) );
6984 putGST( PPC_GST_VRSAVE, mkNarrowTo32(ty, mkexpr(rS)) );
6988 putGST( PPC_GST_TFHAR, mkexpr(rS) );
6992 putGST( PPC_GST_TFIAR, mkexpr(rS) );
6996 putGST( PPC_GST_TEXASR, mkexpr(rS) );