Patchwork [02/22] tcg-i386: Tidy initialization of tcg_target_call_clobber_regs.

login
register
mail settings
Submitter Richard Henderson
Date April 13, 2010, 10:26 p.m.
Message ID <6fd466d920f00ec7ea42dcc43c8c2f0e9f99eaf2.1272479073.git.rth@twiddle.net>
Download mbox | patch
Permalink /patch/51176/
State New
Headers show

Comments

Richard Henderson - April 13, 2010, 10:26 p.m.
Setting the registers one by one is easier to read, and gets
optimized by the compiler just the same.

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 tcg/i386/tcg-target.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)
Aurelien Jarno - May 19, 2010, 6:46 a.m.
On Tue, Apr 13, 2010 at 03:26:17PM -0700, Richard Henderson wrote:
> Setting the registers one by one is easier to read, and gets
> optimized by the compiler just the same.
> 
> Signed-off-by: Richard Henderson <rth@twiddle.net>
> ---
>  tcg/i386/tcg-target.c |   11 ++++++-----
>  1 files changed, 6 insertions(+), 5 deletions(-)

Thanks, applied.

> diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
> index f5c24f7..359f81b 100644
> --- a/tcg/i386/tcg-target.c
> +++ b/tcg/i386/tcg-target.c
> @@ -1365,11 +1365,12 @@ void tcg_target_init(TCGContext *s)
>  #endif
>  
>      tcg_regset_set32(tcg_target_available_regs[TCG_TYPE_I32], 0, 0xff);
> -    tcg_regset_set32(tcg_target_call_clobber_regs, 0,
> -                     (1 << TCG_REG_EAX) | 
> -                     (1 << TCG_REG_EDX) | 
> -                     (1 << TCG_REG_ECX));
> -    
> +
> +    tcg_regset_clear(tcg_target_call_clobber_regs);
> +    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX);
> +    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX);
> +    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX);
> +
>      tcg_regset_clear(s->reserved_regs);
>      tcg_regset_set_reg(s->reserved_regs, TCG_REG_ESP);
>  
> -- 
> 1.6.6.1
> 
> 
> 
>

Patch

diff --git a/tcg/i386/tcg-target.c b/tcg/i386/tcg-target.c
index f5c24f7..359f81b 100644
--- a/tcg/i386/tcg-target.c
+++ b/tcg/i386/tcg-target.c
@@ -1365,11 +1365,12 @@  void tcg_target_init(TCGContext *s)
 #endif
 
     tcg_regset_set32(tcg_target_available_regs[TCG_TYPE_I32], 0, 0xff);
-    tcg_regset_set32(tcg_target_call_clobber_regs, 0,
-                     (1 << TCG_REG_EAX) | 
-                     (1 << TCG_REG_EDX) | 
-                     (1 << TCG_REG_ECX));
-    
+
+    tcg_regset_clear(tcg_target_call_clobber_regs);
+    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EAX);
+    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_EDX);
+    tcg_regset_set_reg(tcg_target_call_clobber_regs, TCG_REG_ECX);
+
     tcg_regset_clear(s->reserved_regs);
     tcg_regset_set_reg(s->reserved_regs, TCG_REG_ESP);