diff options
author | Richard Henderson <rth@twiddle.net> | 2012-09-21 17:18:15 -0700 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2012-09-26 00:31:16 +0200 |
commit | 717e70368bdc339d241f84aba00ed72d051e0236 (patch) | |
tree | 646480b4290018287c1901c124bed0ce8e92b65f /tcg | |
parent | c552d6c038f7cf4058d1fd5987118ffd41e0e050 (diff) |
tcg: Sanity check deposit inputs
Given these are constants, checking once here means everything
after can assume they're correct.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/tcg-op.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tcg/tcg-op.h b/tcg/tcg-op.h index d2fb283764..ecb1ac3e2e 100644 --- a/tcg/tcg-op.h +++ b/tcg/tcg-op.h @@ -2081,6 +2081,10 @@ static inline void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, uint32_t mask; TCGv_i32 t1; + tcg_debug_assert(ofs < 32); + tcg_debug_assert(len <= 32); + tcg_debug_assert(ofs + len <= 32); + if (ofs == 0 && len == 32) { tcg_gen_mov_i32(ret, arg2); return; @@ -2112,6 +2116,10 @@ static inline void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1, uint64_t mask; TCGv_i64 t1; + tcg_debug_assert(ofs < 64); + tcg_debug_assert(len <= 64); + tcg_debug_assert(ofs + len <= 64); + if (ofs == 0 && len == 64) { tcg_gen_mov_i64(ret, arg2); return; |