summaryrefslogtreecommitdiff
path: root/src/lj_target.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_target.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lj_target.h b/src/lj_target.h
index 8575dd5a..13de8fc6 100644
--- a/src/lj_target.h
+++ b/src/lj_target.h
@@ -53,7 +53,7 @@ typedef uint32_t RegSP;
53/* Bitset for registers. 32 registers suffice for most architectures. 53/* Bitset for registers. 32 registers suffice for most architectures.
54** Note that one set holds bits for both GPRs and FPRs. 54** Note that one set holds bits for both GPRs and FPRs.
55*/ 55*/
56#if LJ_TARGET_PPC 56#if LJ_TARGET_PPC || LJ_TARGET_MIPS
57typedef uint64_t RegSet; 57typedef uint64_t RegSet;
58#else 58#else
59typedef uint32_t RegSet; 59typedef uint32_t RegSet;
@@ -63,11 +63,11 @@ typedef uint32_t RegSet;
63#define RSET_EMPTY ((RegSet)0) 63#define RSET_EMPTY ((RegSet)0)
64#define RSET_RANGE(lo, hi) ((RID2RSET((hi)-(lo))-1) << (lo)) 64#define RSET_RANGE(lo, hi) ((RID2RSET((hi)-(lo))-1) << (lo))
65 65
66#define rset_test(rs, r) (((rs) >> (r)) & 1) 66#define rset_test(rs, r) ((int)((rs) >> (r)) & 1)
67#define rset_set(rs, r) (rs |= RID2RSET(r)) 67#define rset_set(rs, r) (rs |= RID2RSET(r))
68#define rset_clear(rs, r) (rs &= ~RID2RSET(r)) 68#define rset_clear(rs, r) (rs &= ~RID2RSET(r))
69#define rset_exclude(rs, r) (rs & ~RID2RSET(r)) 69#define rset_exclude(rs, r) (rs & ~RID2RSET(r))
70#if LJ_TARGET_PPC 70#if LJ_TARGET_PPC || LJ_TARGET_MIPS
71#define rset_picktop(rs) ((Reg)(__builtin_clzll(rs)^63)) 71#define rset_picktop(rs) ((Reg)(__builtin_clzll(rs)^63))
72#define rset_pickbot(rs) ((Reg)__builtin_ctzll(rs)) 72#define rset_pickbot(rs) ((Reg)__builtin_ctzll(rs))
73#else 73#else