qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PULL 06/18] tcg: Move side effects out of dh_sizemask


From: Richard Henderson
Subject: [Qemu-devel] [PULL 06/18] tcg: Move side effects out of dh_sizemask
Date: Tue, 27 May 2014 12:12:33 -0700

Moving them into dh_arg instead.

Signed-off-by: Richard Henderson <address@hidden>
---
 include/exec/helper-gen.h  | 18 ++++++------------
 include/exec/helper-head.h |  5 ++---
 2 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/include/exec/helper-gen.h b/include/exec/helper-gen.h
index 208d1d2..21089aa 100644
--- a/include/exec/helper-gen.h
+++ b/include/exec/helper-gen.h
@@ -9,8 +9,7 @@
 #define DEF_HELPER_FLAGS_0(name, flags, ret) \
 static inline void glue(gen_helper_, name)(dh_retvar_decl0(ret)) \
 { \
-  int sizemask; \
-  sizemask = dh_is_64bit(ret); \
+  int sizemask = dh_sizemask(ret, 0); \
   tcg_gen_callN(&tcg_ctx, HELPER(name), flags, sizemask, dh_retvar(ret), 0, 
NULL); \
 }
 
@@ -18,8 +17,7 @@ static inline void glue(gen_helper_, 
name)(dh_retvar_decl0(ret)) \
 static inline void glue(gen_helper_, name)(dh_retvar_decl(ret) dh_arg_decl(t1, 
1)) \
 { \
   TCGArg args[1]; \
-  int sizemask = 0; \
-  dh_sizemask(ret, 0); \
+  int sizemask = dh_sizemask(ret, 0); \
   dh_arg(t1, 1); \
   tcg_gen_callN(&tcg_ctx, HELPER(name), flags, sizemask, dh_retvar(ret), 1, 
args); \
 }
@@ -29,8 +27,7 @@ static inline void glue(gen_helper_, 
name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1
     dh_arg_decl(t2, 2)) \
 { \
   TCGArg args[2]; \
-  int sizemask = 0; \
-  dh_sizemask(ret, 0); \
+  int sizemask = dh_sizemask(ret, 0); \
   dh_arg(t1, 1); \
   dh_arg(t2, 2); \
   tcg_gen_callN(&tcg_ctx, HELPER(name), flags, sizemask, dh_retvar(ret), 2, 
args); \
@@ -41,8 +38,7 @@ static inline void glue(gen_helper_, 
name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1
     dh_arg_decl(t2, 2), dh_arg_decl(t3, 3)) \
 { \
   TCGArg args[3]; \
-  int sizemask = 0; \
-  dh_sizemask(ret, 0); \
+  int sizemask = dh_sizemask(ret, 0); \
   dh_arg(t1, 1); \
   dh_arg(t2, 2); \
   dh_arg(t3, 3); \
@@ -54,8 +50,7 @@ static inline void glue(gen_helper_, 
name)(dh_retvar_decl(ret) dh_arg_decl(t1, 1
     dh_arg_decl(t2, 2), dh_arg_decl(t3, 3), dh_arg_decl(t4, 4)) \
 { \
   TCGArg args[4]; \
-  int sizemask = 0; \
-  dh_sizemask(ret, 0); \
+  int sizemask = dh_sizemask(ret, 0); \
   dh_arg(t1, 1); \
   dh_arg(t2, 2); \
   dh_arg(t3, 3); \
@@ -69,8 +64,7 @@ static inline void glue(gen_helper_, 
name)(dh_retvar_decl(ret) \
     dh_arg_decl(t4, 4), dh_arg_decl(t5, 5)) \
 { \
   TCGArg args[5]; \
-  int sizemask = 0; \
-  dh_sizemask(ret, 0); \
+  int sizemask = dh_sizemask(ret, 0); \
   dh_arg(t1, 1); \
   dh_arg(t2, 2); \
   dh_arg(t3, 3); \
diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h
index 0b5bd83..253e4d5 100644
--- a/include/exec/helper-head.h
+++ b/include/exec/helper-head.h
@@ -109,12 +109,11 @@
 #define dh_is_signed(t) dh_is_signed_##t
 
 #define dh_sizemask(t, n) \
-  sizemask |= dh_is_64bit(t) << (n*2); \
-  sizemask |= dh_is_signed(t) << (n*2+1)
+  ((dh_is_64bit(t) << (n*2)) | (dh_is_signed(t) << (n*2+1)))
 
 #define dh_arg(t, n) \
   args[n - 1] = glue(GET_TCGV_, dh_alias(t))(glue(arg, n)); \
-  dh_sizemask(t, n)
+  sizemask |= dh_sizemask(t, n)
 
 #define dh_arg_decl(t, n) glue(TCGv_, dh_alias(t)) glue(arg, n)
 
-- 
1.9.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]