This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] Define x86 CALL_USED_REGISTERS_MASK
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Uros Bizjak <ubizjak at gmail dot com>
- Date: Wed, 7 Oct 2015 06:26:22 -0700
- Subject: [PATCH] Define x86 CALL_USED_REGISTERS_MASK
- Authentication-results: sourceware.org; auth=none
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