Lines Matching refs:sh
648 unsigned int mb, me, sh; in analyse_instr() local
897 sh = rb | ((instr & 2) << 4); in analyse_instr()
898 val = ROTATE(val, sh); in analyse_instr()
907 regs->gpr[ra] = val & MASK64(mb, 63 - sh); in analyse_instr()
910 imm = MASK64(mb, 63 - sh); in analyse_instr()
916 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
917 val = ROTATE(val, sh); in analyse_instr()
977 for (sh = 0; sh < 8; ++sh) { in analyse_instr()
978 if (instr & (0x80000 >> sh)) in analyse_instr()
1221 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1222 if (sh < 32) in analyse_instr()
1223 regs->gpr[ra] = (regs->gpr[rd] << sh) & 0xffffffffUL; in analyse_instr()
1229 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1230 if (sh < 32) in analyse_instr()
1231 regs->gpr[ra] = (regs->gpr[rd] & 0xffffffffUL) >> sh; in analyse_instr()
1237 sh = regs->gpr[rb] & 0x3f; in analyse_instr()
1239 regs->gpr[ra] = ival >> (sh < 32 ? sh : 31); in analyse_instr()
1240 if (ival < 0 && (sh >= 32 || (ival & ((1ul << sh) - 1)) != 0)) in analyse_instr()
1247 sh = rb; in analyse_instr()
1249 regs->gpr[ra] = ival >> sh; in analyse_instr()
1250 if (ival < 0 && (ival & ((1ul << sh) - 1)) != 0) in analyse_instr()
1258 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1259 if (sh < 64) in analyse_instr()
1260 regs->gpr[ra] = regs->gpr[rd] << sh; in analyse_instr()
1266 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1267 if (sh < 64) in analyse_instr()
1268 regs->gpr[ra] = regs->gpr[rd] >> sh; in analyse_instr()
1274 sh = regs->gpr[rb] & 0x7f; in analyse_instr()
1276 regs->gpr[ra] = ival >> (sh < 64 ? sh : 63); in analyse_instr()
1277 if (ival < 0 && (sh >= 64 || (ival & ((1ul << sh) - 1)) != 0)) in analyse_instr()
1285 sh = rb | ((instr & 2) << 4); in analyse_instr()
1287 regs->gpr[ra] = ival >> sh; in analyse_instr()
1288 if (ival < 0 && (ival & ((1ul << sh) - 1)) != 0) in analyse_instr()