]> git.proxmox.com Git - mirror_qemu.git/commitdiff
tcg: Fix types in tcg_regset_{set,reset}_reg
authorRichard Henderson <richard.henderson@linaro.org>
Mon, 11 Sep 2017 19:50:42 +0000 (12:50 -0700)
committerRichard Henderson <richard.henderson@linaro.org>
Sun, 17 Sep 2017 13:52:19 +0000 (06:52 -0700)
There was a potential problem here with an ILP32 host
with 64 host registers.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
tcg/tcg.h

index 50dfd7c77f0450fe7174c35e5d382ed24acde022..25662c36d4f217a5c75d4ab74bbde11b4125295f 100644 (file)
--- a/tcg/tcg.h
+++ b/tcg/tcg.h
@@ -186,9 +186,9 @@ typedef enum TCGOpcode {
     NB_OPS,
 } TCGOpcode;
 
-#define tcg_regset_set_reg(d, r) (d) |= 1L << (r)
-#define tcg_regset_reset_reg(d, r) (d) &= ~(1L << (r))
-#define tcg_regset_test_reg(d, r) (((d) >> (r)) & 1)
+#define tcg_regset_set_reg(d, r)   ((d) |= (TCGRegSet)1 << (r))
+#define tcg_regset_reset_reg(d, r) ((d) &= ~((TCGRegSet)1 << (r)))
+#define tcg_regset_test_reg(d, r)  (((d) >> (r)) & 1)
 
 #ifndef TCG_TARGET_INSN_UNIT_SIZE
 # error "Missing TCG_TARGET_INSN_UNIT_SIZE"