Home | History | Annotate | Download | only in priv

Lines Matching defs:shift

941 /* Read the %CL register :: Ity_I8, for shift/rotate operations. */
1693 /* For shift operations, we put in the result and the undershifted
1694 result. Except if the shift amount is zero, the thunk is left
3270 /* Put value to shift/rotate in dst0. */
3366 default: vpanic("dis_Grp2:shift"); break;
3369 /* Widen the value to be shifted to 64 bits, do the shift, and
3372 shifts give defined results for shift values all the way up
3375 bit values, and the shift amount is guaranteed to be in the
3377 all shift values to be in the range 0 .. 2^word_size-1.
3379 Therefore the shift amount is masked with 63 for 64-bit shifts
3389 /* res64 = pre64 `shift` shift_amt */
3392 /* res64ss = pre64 `shift` ((shift_amt - 1) & MASK) */
3421 expressions never shift beyond the word size and thus remain
4418 IRTemp mask[4], shift[4];
4421 shift[i] = 1 << i;
4436 binop(Iop_Shr16, mkexpr(old), mkU8(shift[i])),
4445 IRTemp mask[5], shift[5];
4448 shift[i] = 1 << i;
4464 binop(Iop_Shr32, mkexpr(old), mkU8(shift[i])),
4473 IRTemp mask[6], shift[6];
4476 shift[i] = 1 << i;
4493 binop(Iop_Shr64, mkexpr(old), mkU8(shift[i])),
6500 /* Helper for non-shift MMX insns. Note this is incomplete in the
6652 /* Vector by scalar shift of G by the amount specified at the bottom
6728 /* Vector by scalar shift of E by an immediate byte. This is a
7232 /* shift_amt :: Ity_I8 is the amount to shift. shift_amt_txt is used
7257 and G at the bottom, and shift this left. The result is then in
7261 and E at the bottom, and shift this right. The result is then
7287 /* Calculate the masked shift amount (tmpSH), the masked subshift
7461 /* Mask out upper bits of the shift amount, since we're doing a
8506 /* Vector by scalar shift of G by the amount specified at the bottom
8583 /* Vector by scalar shift of E by an immediate byte. */