rldimi (Rotate Left Double Word Immediate then Mask Insert) instruction
Purpose
The contents of a general purpose register are rotated left a specified number of bits. A generated mask is used to insert a specified bit-field into the corresponding bit-field of another general purpose register.
Syntax
Bits | Value |
---|---|
0 - 5 | 30 |
6 - 10 | S |
11 - 15 | A |
16 - 20 | sh |
21 - 26 | mb |
27 - 29 | 3 |
30 | sh |
31 | Rc |
Description
The contents of general purpose register (GPR) RS are rotated left the number of bits specified by operand SH. A mask is generated having 1 bits from bit MB through bit 63 - SH and 0 bits elsewhere. The rotated data is inserted into RA under control of the generated mask.
Note that rldimi can be used to insert an n-bit field, that is right-justified in RS, into RA starting at bit position b, by setting SH = 64 - (b + n) and MB = b.
Other registers altered:
- Condition Register (CR0 field):
Affected: LT, GT, EQ, SO (if Rc = 1)
Parameters
Item | Description |
---|---|
RA | Specifies the target general purpose register for the result of the instruction. |
RS | Specifies the source general purpose register containing the operand. |
SH | Specifies the (immediate) shift value for the operation. |
MB | Specifies the begin value of the bit-mask for the operation. |
Implementation
This instruction is defined only for 64-bit implementations. Using it on a 32-bit implementation will cause the system illegal instruction error handler to be invoked.