diff options
author | kan <kan@FreeBSD.org> | 2003-07-11 03:40:53 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2003-07-11 03:40:53 +0000 |
commit | b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180 (patch) | |
tree | f6b0610f4a17fd26aa234354f050080f789861a4 /contrib/gcc/hard-reg-set.h | |
parent | 52e69d78eee5612ac195e0701a5cebe40d1ab0e1 (diff) | |
download | FreeBSD-src-b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180.zip FreeBSD-src-b2a8872fbe1ec1c49094559ac7b78e6ea4ab7180.tar.gz |
Gcc 3.3.1-pre as of 2003-07-11.
Diffstat (limited to 'contrib/gcc/hard-reg-set.h')
-rw-r--r-- | contrib/gcc/hard-reg-set.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/contrib/gcc/hard-reg-set.h b/contrib/gcc/hard-reg-set.h index db96aa9..53330cf 100644 --- a/contrib/gcc/hard-reg-set.h +++ b/contrib/gcc/hard-reg-set.h @@ -92,7 +92,7 @@ typedef HARD_REG_ELT_TYPE HARD_REG_SET[HARD_REG_SET_LONGS]; #define CLEAR_HARD_REG_BIT(SET, BIT) \ ((SET) &= ~(HARD_CONST (1) << (BIT))) #define TEST_HARD_REG_BIT(SET, BIT) \ - ((SET) & (HARD_CONST (1) << (BIT))) + (!!((SET) & (HARD_CONST (1) << (BIT)))) #define CLEAR_HARD_REG_SET(TO) ((TO) = HARD_CONST (0)) #define SET_HARD_REG_SET(TO) ((TO) = ~ HARD_CONST (0)) @@ -122,8 +122,8 @@ typedef HARD_REG_ELT_TYPE HARD_REG_SET[HARD_REG_SET_LONGS]; &= ~(HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT))) #define TEST_HARD_REG_BIT(SET, BIT) \ - ((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \ - & (HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT))) + (!!((SET)[(BIT) / UHOST_BITS_PER_WIDE_INT] \ + & (HARD_CONST (1) << ((BIT) % UHOST_BITS_PER_WIDE_INT)))) #if FIRST_PSEUDO_REGISTER <= 2*HOST_BITS_PER_WIDE_INT #define CLEAR_HARD_REG_SET(TO) \ @@ -405,6 +405,10 @@ extern HARD_REG_SET fixed_reg_set; extern char call_used_regs[FIRST_PSEUDO_REGISTER]; +#ifdef CALL_REALLY_USED_REGISTERS +extern char call_really_used_regs[]; +#endif + /* The same info as a HARD_REG_SET. */ extern HARD_REG_SET call_used_reg_set; @@ -484,4 +488,9 @@ extern int n_non_fixed_regs; extern const char * reg_names[FIRST_PSEUDO_REGISTER]; +/* Given a hard REGN a FROM mode and a TO mode, return nonzero if + REGN cannot change modes between the specified modes. */ +#define REG_CANNOT_CHANGE_MODE_P(REGN, FROM, TO) \ + CANNOT_CHANGE_MODE_CLASS (FROM, TO, REGNO_REG_CLASS (REGN)) + #endif /* ! GCC_HARD_REG_SET_H */ |