summaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/rs6000.h
diff options
context:
space:
mode:
authormeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-06-29 11:28:52 +0000
committermeissner <meissner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-06-29 11:28:52 +0000
commit33e46abb686343f394e6230b47291213229857c5 (patch)
tree08c4935b72fb208113c177b163878a4c53cf967c /gcc/config/rs6000/rs6000.h
parent51418ce4313dcd7279ea94a4c4f7571b921625b0 (diff)
downloadgcc-33e46abb686343f394e6230b47291213229857c5.tar.gz
Fix int<->floating point conversion routines
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@12379 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/rs6000/rs6000.h')
-rw-r--r--gcc/config/rs6000/rs6000.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h
index f157f0ec01b..7626eff03c5 100644
--- a/gcc/config/rs6000/rs6000.h
+++ b/gcc/config/rs6000/rs6000.h
@@ -1190,6 +1190,10 @@ extern int rs6000_sysv_varargs_p;
/* Align an address */
#define ALIGN(n,a) (((n) + (a) - 1) & ~((a) - 1))
+/* Initialize data used by insn expanders. This is called from
+ init_emit, once for each function, before code is generated. */
+#define INIT_EXPANDERS rs6000_init_expanders ()
+
/* Size of V.4 varargs area in bytes */
#define RS6000_VARARGS_SIZE \
((GP_ARG_NUM_REG * (TARGET_32BIT ? 4 : 8)) + (FP_ARG_NUM_REG * 8) + 8)
@@ -1197,7 +1201,6 @@ extern int rs6000_sysv_varargs_p;
/* Offset of V.4 varargs area */
#define RS6000_VARARGS_OFFSET \
(ALIGN (current_function_outgoing_args_size, 8) \
- + ALIGN (rs6000_fpmem_size, 8) \
+ RS6000_SAVE_AREA)
/* Offset within stack frame to start allocating local variables at.
@@ -1211,7 +1214,6 @@ extern int rs6000_sysv_varargs_p;
#define STARTING_FRAME_OFFSET \
(ALIGN (current_function_outgoing_args_size, 8) \
- + ALIGN (rs6000_fpmem_size, 8) \
+ RS6000_VARARGS_AREA \
+ RS6000_SAVE_AREA)
@@ -1223,7 +1225,6 @@ extern int rs6000_sysv_varargs_p;
machines. See `function.c' for details. */
#define STACK_DYNAMIC_OFFSET(FUNDECL) \
(ALIGN (current_function_outgoing_args_size, 8) \
- + ALIGN (rs6000_fpmem_size, 8) \
+ (STACK_POINTER_OFFSET))
/* If we generate an insn to push BYTES bytes,
@@ -3009,6 +3010,7 @@ do { \
extern int flag_pic;
extern int optimize;
extern int flag_expensive_optimizations;
+extern int frame_pointer_needed;
/* Declare functions in rs6000.c */
extern void output_options ();
@@ -3071,6 +3073,9 @@ extern int addrs_ok_for_quad_peep ();
extern enum reg_class secondary_reload_class ();
extern int ccr_bit ();
extern void rs6000_finalize_pic ();
+extern void rs6000_save_machine_status ();
+extern void rs6000_restore_machine_status ();
+extern void rs6000_init_expanders ();
extern void print_operand ();
extern void print_operand_address ();
extern int first_reg_to_save ();