This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Define x86 CALL_USED_REGISTERS_MASK


Define x86 CALL_USED_REGISTERS_MASK used on x86 CALL_USED_REGISTERS.
OK for trunk?

H.J.
	* config/i386/i386.c (ix86_conditional_register_usage): Use
	CALL_USED_REGISTERS_MASK.
	* config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
---
 gcc/config/i386/i386.c | 4 +---
 gcc/config/i386/i386.h | 3 +++
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index c44f0af..c5ebff5 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -5583,9 +5583,7 @@ ix86_conditional_register_usage (void)
     }
 
   /*  See the definition of CALL_USED_REGISTERS in i386.h.  */
-  c_mask = (TARGET_64BIT_MS_ABI ? (1 << 3)
-	    : TARGET_64BIT ? (1 << 2)
-	    : (1 << 1));
+  c_mask = CALL_USED_REGISTERS_MASK (TARGET_64BIT_MS_ABI);
   
   CLEAR_HARD_REG_SET (reg_class_contents[(int)CLOBBERED_REGS]);
 
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
index a24dea5..ad17460 100644
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1018,6 +1018,9 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
 
    Proper values are computed in TARGET_CONDITIONAL_REGISTER_USAGE.  */
 
+#define CALL_USED_REGISTERS_MASK(IS_64BIT_MS_ABI) \
+  ((IS_64BIT_MS_ABI) ? (1 << 3) : TARGET_64BIT ? (1 << 2) : (1 << 1))
+
 #define CALL_USED_REGISTERS					\
 /*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7*/	\
 {  1, 1, 1, 0, 4, 4, 0, 1, 1,  1,  1,  1,  1,  1,  1,  1,	\
-- 
2.4.3


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]