diff mbox

[02/15] tcg: Minor adjustments to deposit expanders

Message ID 1476589070-5792-3-git-send-email-rth@twiddle.net (mailing list archive)
State New, archived
Headers show

Commit Message

Richard Henderson Oct. 16, 2016, 3:37 a.m. UTC
Assert that len is not 0.

Since we have asserted that ofs + len <= N, a later
check for len == N implies that ofs == 0.

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/tcg-op.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Claudio Fontana Oct. 17, 2016, 3:23 p.m. UTC | #1
On 16.10.2016 05:37, Richard Henderson wrote:
> Assert that len is not 0.
> 
> Since we have asserted that ofs + len <= N, a later
> check for len == N implies that ofs == 0.
> 
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  tcg/tcg-op.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c
> index cc4a331..39bab98 100644
> --- a/tcg/tcg-op.c
> +++ b/tcg/tcg-op.c
> @@ -543,10 +543,11 @@ void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, TCGv_i32 arg2,
>      TCGv_i32 t1;
>  
>      tcg_debug_assert(ofs < 32);
> +    tcg_debug_assert(len > 0);
>      tcg_debug_assert(len <= 32);
>      tcg_debug_assert(ofs + len <= 32);
>  
> -    if (ofs == 0 && len == 32) {
> +    if (len == 32) {
>          tcg_gen_mov_i32(ret, arg2);
>          return;
>      }
> @@ -1693,10 +1694,11 @@ void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1, TCGv_i64 arg2,
>      TCGv_i64 t1;
>  
>      tcg_debug_assert(ofs < 64);
> +    tcg_debug_assert(len > 0);
>      tcg_debug_assert(len <= 64);
>      tcg_debug_assert(ofs + len <= 64);
>  
> -    if (ofs == 0 && len == 64) {
> +    if (len == 64) {
>          tcg_gen_mov_i64(ret, arg2);
>          return;
>      }
> 

Reviewed-by: Claudio Fontana <claudio.fontana@huawei.com>
diff mbox

Patch

diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c
index cc4a331..39bab98 100644
--- a/tcg/tcg-op.c
+++ b/tcg/tcg-op.c
@@ -543,10 +543,11 @@  void tcg_gen_deposit_i32(TCGv_i32 ret, TCGv_i32 arg1, TCGv_i32 arg2,
     TCGv_i32 t1;
 
     tcg_debug_assert(ofs < 32);
+    tcg_debug_assert(len > 0);
     tcg_debug_assert(len <= 32);
     tcg_debug_assert(ofs + len <= 32);
 
-    if (ofs == 0 && len == 32) {
+    if (len == 32) {
         tcg_gen_mov_i32(ret, arg2);
         return;
     }
@@ -1693,10 +1694,11 @@  void tcg_gen_deposit_i64(TCGv_i64 ret, TCGv_i64 arg1, TCGv_i64 arg2,
     TCGv_i64 t1;
 
     tcg_debug_assert(ofs < 64);
+    tcg_debug_assert(len > 0);
     tcg_debug_assert(len <= 64);
     tcg_debug_assert(ofs + len <= 64);
 
-    if (ofs == 0 && len == 64) {
+    if (len == 64) {
         tcg_gen_mov_i64(ret, arg2);
         return;
     }