]> xenbits.xensource.com Git - qemu-upstream-4.6-testing.git/commitdiff
tcg: Move side effects out of dh_sizemask
authorRichard Henderson <rth@twiddle.net>
Tue, 8 Apr 2014 07:01:09 +0000 (00:01 -0700)
committerRichard Henderson <rth@twiddle.net>
Wed, 28 May 2014 16:33:54 +0000 (09:33 -0700)
Moving them into dh_arg instead.

Signed-off-by: Richard Henderson <rth@twiddle.net>
include/exec/helper-gen.h
include/exec/helper-head.h

index 208d1d22ff84fa65eb37983ef3ceae8ecf213c84..21089aa9fa67c6dea58a13299ae6b3865ce8af1f 100644 (file)
@@ -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); \
index 0b5bd8398ec80ad40525cdf5f46bed9fe3a5f2a1..253e4d53fde56d38a875994470c0e5d20d010280 100644 (file)
 #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)