]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
tcg: Sanity check deposit inputs
authorRichard Henderson <rth@twiddle.net>
Sat, 22 Sep 2012 00:18:15 +0000 (17:18 -0700)
committerAurelien Jarno <aurelien@aurel32.net>
Tue, 25 Sep 2012 22:31:16 +0000 (00:31 +0200)
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>
tcg/tcg-op.h

index d2fb283764e92cb70fa4756b54b355fe816e017e..ecb1ac3e2ecf779546b215ae72e4f1d230cb595d 100644 (file)
@@ -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;