padding. */
#define FUNCTION_ARG_PADDING(MODE, TYPE) \
- function_arg_padding (MODE, TYPE)
+ (enum direction) function_arg_padding (MODE, TYPE)
/* If defined, a C expression that gives the alignment boundary, in bits,
of an argument with the specified mode and type. If it is not defined,
/* Table of additional register names to use in user input. */
#define ADDITIONAL_REGISTER_NAMES \
- {"r0", 0, "r1", 1, "r2", 2, "r3", 3, \
- "r4", 4, "r5", 5, "r6", 6, "r7", 7, \
- "r8", 8, "r9", 9, "r10", 10, "r11", 11, \
- "r12", 12, "r13", 13, "r14", 14, "r15", 15, \
- "r16", 16, "r17", 17, "r18", 18, "r19", 19, \
- "r20", 20, "r21", 21, "r22", 22, "r23", 23, \
- "r24", 24, "r25", 25, "r26", 26, "r27", 27, \
- "r28", 28, "r29", 29, "r30", 30, "r31", 31, \
- "fr0", 32, "fr1", 33, "fr2", 34, "fr3", 35, \
- "fr4", 36, "fr5", 37, "fr6", 38, "fr7", 39, \
- "fr8", 40, "fr9", 41, "fr10", 42, "fr11", 43, \
- "fr12", 44, "fr13", 45, "fr14", 46, "fr15", 47, \
- "fr16", 48, "fr17", 49, "fr18", 50, "fr19", 51, \
- "fr20", 52, "fr21", 53, "fr22", 54, "fr23", 55, \
- "fr24", 56, "fr25", 57, "fr26", 58, "fr27", 59, \
- "fr28", 60, "fr29", 61, "fr30", 62, "fr31", 63, \
- /* no additional names for: mq, lr, ctr, ap */ \
- "cr0", 68, "cr1", 69, "cr2", 70, "cr3", 71, \
- "cr4", 72, "cr5", 73, "cr6", 74, "cr7", 75, \
- "cc", 68, "sp", 1, "toc", 2 }
+ {{"r0", 0}, {"r1", 1}, {"r2", 2}, {"r3", 3}, \
+ {"r4", 4}, {"r5", 5}, {"r6", 6}, {"r7", 7}, \
+ {"r8", 8}, {"r9", 9}, {"r10", 10}, {"r11", 11}, \
+ {"r12", 12}, {"r13", 13}, {"r14", 14}, {"r15", 15}, \
+ {"r16", 16}, {"r17", 17}, {"r18", 18}, {"r19", 19}, \
+ {"r20", 20}, {"r21", 21}, {"r22", 22}, {"r23", 23}, \
+ {"r24", 24}, {"r25", 25}, {"r26", 26}, {"r27", 27}, \
+ {"r28", 28}, {"r29", 29}, {"r30", 30}, {"r31", 31}, \
+ {"fr0", 32}, {"fr1", 33}, {"fr2", 34}, {"fr3", 35}, \
+ {"fr4", 36}, {"fr5", 37}, {"fr6", 38}, {"fr7", 39}, \
+ {"fr8", 40}, {"fr9", 41}, {"fr10", 42}, {"fr11", 43}, \
+ {"fr12", 44}, {"fr13", 45}, {"fr14", 46}, {"fr15", 47}, \
+ {"fr16", 48}, {"fr17", 49}, {"fr18", 50}, {"fr19", 51}, \
+ {"fr20", 52}, {"fr21", 53}, {"fr22", 54}, {"fr23", 55}, \
+ {"fr24", 56}, {"fr25", 57}, {"fr26", 58}, {"fr27", 59}, \
+ {"fr28", 60}, {"fr29", 61}, {"fr30", 62}, {"fr31", 63}, \
+ /* no additional names for: mq, lr, ctr, ap */ \
+ {"cr0", 68}, {"cr1", 69}, {"cr2", 70}, {"cr3", 71}, \
+ {"cr4", 72}, {"cr5", 73}, {"cr6", 74}, {"cr7", 75}, \
+ {"cc", 68}, {"sp", 1}, {"toc", 2} }
/* How to renumber registers for dbx and gdb. */
extern struct rtx_def *rs6000_immed_double_const ();
extern struct rtx_def *rs6000_got_register ();
extern int direct_return ();
+extern int get_issue_rate ();
extern int any_operand ();
extern int short_cint_operand ();
extern int u_short_cint_operand ();
extern int mem_or_easy_const_operand ();
extern int add_operand ();
extern int non_add_cint_operand ();
+extern int non_logical_cint_operand ();
extern int logical_operand ();
extern int non_logical_operand ();
extern int mask_constant ();
extern void rs6000_trampoline_template ();
extern int rs6000_trampoline_size ();
extern void rs6000_initialize_trampoline ();
+extern void rs6000_output_load_toc_table ();
extern int rs6000_comp_type_attributes ();
extern int rs6000_valid_decl_attribute_p ();
extern int rs6000_valid_type_attribute_p ();
extern void rs6000_set_default_type_attributes ();
extern struct rtx_def *rs6000_dll_import_ref ();
extern struct rtx_def *rs6000_longcall_ref ();
+extern int function_arg_padding ();
/* See nonlocal_goto_receiver for when this must be set. */