diff options
author | Richard Henderson <rth@twiddle.net> | 2011-01-10 19:23:42 -0800 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2011-01-20 12:16:05 +0100 |
commit | b7767f0f3cb6879b42ed47e9375313829028adaf (patch) | |
tree | 2ff39d9b393d595cc83304db52ae4317a3053354 /tcg/README | |
parent | 9f8beb6636fdd913a25fa536238a3a047ce4cf63 (diff) |
tcg: Define "deposit" as an optional operation.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'tcg/README')
-rw-r--r-- | tcg/README | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tcg/README b/tcg/README index a18a87ffcd..a50ecc6588 100644 --- a/tcg/README +++ b/tcg/README @@ -285,6 +285,20 @@ the four high order bytes are set to zero. Indicate that the value of t0 won't be used later. It is useful to force dead code elimination. +* deposit_i32/i64 dest, t1, t2, pos, loc + +Deposit T2 as a bitfield into T1, placing the result in DEST. +The bitfield is described by POS/LOC, which are immediate values: + + LEN - the length of the bitfield + POS - the position of the first bit, counting from the LSB + +For example, pos=8, len=4 indicates a 4-bit field at bit 8. +This operation would be equivalent to + + dest = (t1 & ~0x0f00) | ((t2 << 8) & 0x0f00) + + ********* Conditional moves * setcond_i32/i64 cond, dest, t1, t2 |