summaryrefslogtreecommitdiff
path: root/gcc/config/ia64/ia64.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-22 19:23:05 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2002-03-22 19:23:05 +0000
commit3a7c3680df1c3fa4351f01d54c811f4c075defe3 (patch)
tree239508eee576e0a370dc1c3feb1e8b63a73a1950 /gcc/config/ia64/ia64.h
parent70e50a47daf994341f274eb851cf9c6a58304e28 (diff)
downloadgcc-3a7c3680df1c3fa4351f01d54c811f4c075defe3.tar.gz
PR target/3177
* config/ia64/ia64.h (CUMULATIVE_ARGS): Add int_regs. (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Update. * config/ia64/ia64.c (ia64_function_arg_advance): Set int_regs. (ia64_expand_prologue): Look at int_regs, not words, for number of incomming int regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51180 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/ia64/ia64.h')
-rw-r--r--gcc/config/ia64/ia64.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 8a4a759ec52..8e3eaeea8bf 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -1269,6 +1269,7 @@ enum reg_class
typedef struct ia64_args
{
int words; /* # words of arguments so far */
+ int int_regs; /* # GR registers used so far */
int fp_regs; /* # FR registers used so far */
int prototype; /* whether function prototyped */
} CUMULATIVE_ARGS;
@@ -1279,6 +1280,7 @@ typedef struct ia64_args
#define INIT_CUMULATIVE_ARGS(CUM, FNTYPE, LIBNAME, INDIRECT) \
do { \
(CUM).words = 0; \
+ (CUM).int_regs = 0; \
(CUM).fp_regs = 0; \
(CUM).prototype = ((FNTYPE) && TYPE_ARG_TYPES (FNTYPE)) || (LIBNAME); \
} while (0)
@@ -1292,6 +1294,7 @@ do { \
#define INIT_CUMULATIVE_INCOMING_ARGS(CUM, FNTYPE, LIBNAME) \
do { \
(CUM).words = 0; \
+ (CUM).int_regs = 0; \
(CUM).fp_regs = 0; \
(CUM).prototype = 1; \
} while (0)