Commit 61f3b78f by Richard Henderson Committed by Richard Henderson

m32r.c: Include toplev.h.

        * m32r.c: Include toplev.h.
        (*): Add ATTRIBUTE_UNUSED as needed to arguments.
        (gen_compare): Rename swap_p to must_swap to match uses.
        Add default abort case.
        (m32r_output_function_epilogue): Remove unused variables.
        (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
        * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
        define to empty parameter list.  Update all uses.
        (predicate decls): Use enum machine_mode not int.
        * m32r.md (movsi): Call abort, not fatal_insn.
        (zero_branch_insn, rev_zero_branch_insn): Add default abort case.

From-SVN: r29459
parent 033ed340
Thu Sep 16 11:37:32 1999 Richard Henderson <rth@cygnus.com>
* m32r.c: Include toplev.h.
(*): Add ATTRIBUTE_UNUSED as needed to arguments.
(gen_compare): Rename swap_p to must_swap to match uses.
Add default abort case.
(m32r_output_function_epilogue): Remove unused variables.
(m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
* m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
define to empty parameter list. Update all uses.
(predicate decls): Use enum machine_mode not int.
* m32r.md (movsi): Call abort, not fatal_insn.
(zero_branch_insn, rev_zero_branch_insn): Add default abort case.
1999-09-14 Andrew Haley <aph@cygnus.com> 1999-09-14 Andrew Haley <aph@cygnus.com>
* config/mips/mips.md (movsi_usw): if operand 1 is const_int 0, * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
......
...@@ -34,6 +34,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -34,6 +34,7 @@ Boston, MA 02111-1307, USA. */
#include "expr.h" #include "expr.h"
#include "function.h" #include "function.h"
#include "recog.h" #include "recog.h"
#include "toplev.h"
/* Save the operands last given to a compare for use when we /* Save the operands last given to a compare for use when we
generate a scc or bcc insn. */ generate a scc or bcc insn. */
...@@ -237,8 +238,8 @@ init_idents PROTO ((void)) ...@@ -237,8 +238,8 @@ init_idents PROTO ((void))
int int
m32r_valid_machine_decl_attribute (type, attributes, identifier, args) m32r_valid_machine_decl_attribute (type, attributes, identifier, args)
tree type; tree type ATTRIBUTE_UNUSED;
tree attributes; tree attributes ATTRIBUTE_UNUSED;
tree identifier; tree identifier;
tree args; tree args;
{ {
...@@ -269,7 +270,8 @@ m32r_valid_machine_decl_attribute (type, attributes, identifier, args) ...@@ -269,7 +270,8 @@ m32r_valid_machine_decl_attribute (type, attributes, identifier, args)
int int
m32r_comp_type_attributes (type1, type2) m32r_comp_type_attributes (type1, type2)
tree type1, type2; tree type1 ATTRIBUTE_UNUSED;
tree type2 ATTRIBUTE_UNUSED;
{ {
return 1; return 1;
} }
...@@ -278,7 +280,7 @@ m32r_comp_type_attributes (type1, type2) ...@@ -278,7 +280,7 @@ m32r_comp_type_attributes (type1, type2)
void void
m32r_set_default_type_attributes (type) m32r_set_default_type_attributes (type)
tree type; tree type ATTRIBUTE_UNUSED;
{ {
} }
...@@ -477,7 +479,7 @@ call_operand (op, int_mode) ...@@ -477,7 +479,7 @@ call_operand (op, int_mode)
int int
symbolic_operand (op, int_mode) symbolic_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
switch (GET_CODE (op)) switch (GET_CODE (op))
{ {
...@@ -496,7 +498,7 @@ symbolic_operand (op, int_mode) ...@@ -496,7 +498,7 @@ symbolic_operand (op, int_mode)
int int
small_data_operand (op, int_mode) small_data_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (! TARGET_SDATA_USE) if (! TARGET_SDATA_USE)
return 0; return 0;
...@@ -519,7 +521,7 @@ small_data_operand (op, int_mode) ...@@ -519,7 +521,7 @@ small_data_operand (op, int_mode)
int int
addr24_operand (op, int_mode) addr24_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == LABEL_REF) if (GET_CODE (op) == LABEL_REF)
return TARGET_ADDR24; return TARGET_ADDR24;
...@@ -577,7 +579,7 @@ addr32_operand (op, int_mode) ...@@ -577,7 +579,7 @@ addr32_operand (op, int_mode)
int int
call26_operand (op, int_mode) call26_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == SYMBOL_REF) if (GET_CODE (op) == SYMBOL_REF)
return ! LARGE_NAME_P (XSTR (op, 0)); return ! LARGE_NAME_P (XSTR (op, 0));
...@@ -590,7 +592,7 @@ call26_operand (op, int_mode) ...@@ -590,7 +592,7 @@ call26_operand (op, int_mode)
int int
seth_add3_operand (op, int_mode) seth_add3_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == SYMBOL_REF if (GET_CODE (op) == SYMBOL_REF
|| GET_CODE (op) == LABEL_REF) || GET_CODE (op) == LABEL_REF)
...@@ -612,7 +614,7 @@ seth_add3_operand (op, int_mode) ...@@ -612,7 +614,7 @@ seth_add3_operand (op, int_mode)
int int
cmp_int16_operand (op, int_mode) cmp_int16_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) != CONST_INT) if (GET_CODE (op) != CONST_INT)
return 0; return 0;
...@@ -624,7 +626,7 @@ cmp_int16_operand (op, int_mode) ...@@ -624,7 +626,7 @@ cmp_int16_operand (op, int_mode)
int int
uint16_operand (op, int_mode) uint16_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) != CONST_INT) if (GET_CODE (op) != CONST_INT)
return 0; return 0;
...@@ -684,7 +686,7 @@ reg_or_cmp_int16_operand (op, int_mode) ...@@ -684,7 +686,7 @@ reg_or_cmp_int16_operand (op, int_mode)
int int
two_insn_const_operand (op, int_mode) two_insn_const_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) != CONST_INT) if (GET_CODE (op) != CONST_INT)
return 0; return 0;
...@@ -853,7 +855,7 @@ easy_df_const (op) ...@@ -853,7 +855,7 @@ easy_df_const (op)
int int
eqne_comparison_operator (op, int_mode) eqne_comparison_operator (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (op); enum rtx_code code = GET_CODE (op);
...@@ -867,7 +869,7 @@ eqne_comparison_operator (op, int_mode) ...@@ -867,7 +869,7 @@ eqne_comparison_operator (op, int_mode)
int int
signed_comparison_operator (op, int_mode) signed_comparison_operator (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
enum rtx_code code = GET_CODE (op); enum rtx_code code = GET_CODE (op);
...@@ -883,7 +885,7 @@ signed_comparison_operator (op, int_mode) ...@@ -883,7 +885,7 @@ signed_comparison_operator (op, int_mode)
int int
memreg_operand (op, int_mode) memreg_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
return GET_CODE (op) == MEM && GET_CODE (XEXP (op, 0)) == REG; return GET_CODE (op) == MEM && GET_CODE (XEXP (op, 0)) == REG;
} }
...@@ -894,7 +896,7 @@ memreg_operand (op, int_mode) ...@@ -894,7 +896,7 @@ memreg_operand (op, int_mode)
int int
small_insn_p (op, int_mode) small_insn_p (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) == CONST_INT && INTVAL (op) == 0) if (GET_CODE (op) == CONST_INT && INTVAL (op) == 0)
return 1; return 1;
...@@ -910,7 +912,7 @@ small_insn_p (op, int_mode) ...@@ -910,7 +912,7 @@ small_insn_p (op, int_mode)
int int
large_insn_p (op, int_mode) large_insn_p (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
if (GET_RTX_CLASS (GET_CODE (op)) != 'i') if (GET_RTX_CLASS (GET_CODE (op)) != 'i')
return 0; return 0;
...@@ -926,8 +928,9 @@ large_insn_p (op, int_mode) ...@@ -926,8 +928,9 @@ large_insn_p (op, int_mode)
int int
m32r_select_cc_mode (op, x, y) m32r_select_cc_mode (op, x, y)
int op; int op ATTRIBUTE_UNUSED;
rtx x, y; rtx x ATTRIBUTE_UNUSED;
rtx y ATTRIBUTE_UNUSED;
{ {
return (int)SImode; return (int)SImode;
} }
...@@ -946,7 +949,7 @@ gen_compare (code, x, y, need_compare) ...@@ -946,7 +949,7 @@ gen_compare (code, x, y, need_compare)
enum machine_mode mode = SELECT_CC_MODE (code, x, y); enum machine_mode mode = SELECT_CC_MODE (code, x, y);
enum rtx_code compare_code, branch_code; enum rtx_code compare_code, branch_code;
rtx cc_reg = gen_rtx_REG (mode, CARRY_REGNUM); rtx cc_reg = gen_rtx_REG (mode, CARRY_REGNUM);
int swap_p = 0; int must_swap = 0;
switch (code) switch (code)
{ {
...@@ -960,6 +963,9 @@ gen_compare (code, x, y, need_compare) ...@@ -960,6 +963,9 @@ gen_compare (code, x, y, need_compare)
case LEU: compare_code = LTU; branch_code = EQ; must_swap = 1; break; case LEU: compare_code = LTU; branch_code = EQ; must_swap = 1; break;
case GTU: compare_code = LTU; branch_code = NE; must_swap = 1; break; case GTU: compare_code = LTU; branch_code = NE; must_swap = 1; break;
case GEU: compare_code = LTU; branch_code = EQ; break; case GEU: compare_code = LTU; branch_code = EQ; break;
default:
abort();
} }
if (need_compare) if (need_compare)
...@@ -1135,6 +1141,9 @@ gen_compare (code, x, y, need_compare) ...@@ -1135,6 +1141,9 @@ gen_compare (code, x, y, need_compare)
case LTU : case LTU :
emit_insn (gen_cmp_ltusi_insn (must_swap ? y : x, must_swap ? x : y)); emit_insn (gen_cmp_ltusi_insn (must_swap ? y : x, must_swap ? x : y));
break; break;
default:
abort ();
} }
return gen_rtx (branch_code, VOIDmode, cc_reg, CONST0_RTX (mode)); return gen_rtx (branch_code, VOIDmode, cc_reg, CONST0_RTX (mode));
...@@ -1275,7 +1284,7 @@ function_arg_partial_nregs (cum, int_mode, type, named) ...@@ -1275,7 +1284,7 @@ function_arg_partial_nregs (cum, int_mode, type, named)
CUMULATIVE_ARGS *cum; CUMULATIVE_ARGS *cum;
int int_mode; int int_mode;
tree type; tree type;
int named; int named ATTRIBUTE_UNUSED;
{ {
enum machine_mode mode = (enum machine_mode)int_mode; enum machine_mode mode = (enum machine_mode)int_mode;
int ret; int ret;
...@@ -1416,7 +1425,7 @@ m32r_va_arg (valist, type) ...@@ -1416,7 +1425,7 @@ m32r_va_arg (valist, type)
int int
m32r_address_cost (addr) m32r_address_cost (addr)
rtx addr; rtx addr ATTRIBUTE_UNUSED;
{ {
return 1; return 1;
} }
...@@ -1733,7 +1742,7 @@ m32r_output_function_prologue (file, size) ...@@ -1733,7 +1742,7 @@ m32r_output_function_prologue (file, size)
void void
m32r_output_function_epilogue (file, size) m32r_output_function_epilogue (file, size)
FILE * file; FILE * file;
int size; int size ATTRIBUTE_UNUSED;
{ {
int regno; int regno;
int noepilogue = FALSE; int noepilogue = FALSE;
...@@ -1761,8 +1770,6 @@ m32r_output_function_epilogue (file, size) ...@@ -1761,8 +1770,6 @@ m32r_output_function_epilogue (file, size)
if (!noepilogue) if (!noepilogue)
{ {
unsigned int pretend_size = current_frame_info.pretend_size;
unsigned int frame_size = total_size - pretend_size;
unsigned int var_size = current_frame_info.var_size; unsigned int var_size = current_frame_info.var_size;
unsigned int args_size = current_frame_info.args_size; unsigned int args_size = current_frame_info.args_size;
unsigned int gmask = current_frame_info.gmask; unsigned int gmask = current_frame_info.gmask;
...@@ -1860,7 +1867,9 @@ m32r_finalize_pic () ...@@ -1860,7 +1867,9 @@ m32r_finalize_pic ()
void void
m32r_initialize_trampoline (tramp, fnaddr, cxt) m32r_initialize_trampoline (tramp, fnaddr, cxt)
rtx tramp, fnaddr, cxt; rtx tramp ATTRIBUTE_UNUSED;
rtx fnaddr ATTRIBUTE_UNUSED;
rtx cxt ATTRIBUTE_UNUSED;
{ {
} }
...@@ -1945,7 +1954,7 @@ m32r_print_operand (file, x, code) ...@@ -1945,7 +1954,7 @@ m32r_print_operand (file, x, code)
rtx first, second; rtx first, second;
split_double (x, &first, &second); split_double (x, &first, &second);
fprintf (file, "0x%08x", fprintf (file, HOST_WIDE_INT_PRINT_HEX,
code == 'L' ? INTVAL (first) : INTVAL (second)); code == 'L' ? INTVAL (first) : INTVAL (second));
} }
else else
...@@ -2269,7 +2278,7 @@ conditional_move_operand (operand, int_mode) ...@@ -2269,7 +2278,7 @@ conditional_move_operand (operand, int_mode)
int int
carry_compare_operand (op, int_mode) carry_compare_operand (op, int_mode)
rtx op; rtx op;
int int_mode; int int_mode ATTRIBUTE_UNUSED;
{ {
rtx x; rtx x;
...@@ -2299,7 +2308,7 @@ carry_compare_operand (op, int_mode) ...@@ -2299,7 +2308,7 @@ carry_compare_operand (op, int_mode)
char * char *
emit_cond_move (operands, insn) emit_cond_move (operands, insn)
rtx * operands; rtx * operands;
rtx insn; rtx insn ATTRIBUTE_UNUSED;
{ {
static char buffer [100]; static char buffer [100];
char * dest = reg_names [REGNO (operands [0])]; char * dest = reg_names [REGNO (operands [0])];
...@@ -2470,7 +2479,7 @@ m32r_expand_block_move (operands) ...@@ -2470,7 +2479,7 @@ m32r_expand_block_move (operands)
char * char *
m32r_output_block_move (insn, operands) m32r_output_block_move (insn, operands)
rtx insn; rtx insn ATTRIBUTE_UNUSED;
rtx operands[]; rtx operands[];
{ {
HOST_WIDE_INT bytes = INTVAL (operands[2]); HOST_WIDE_INT bytes = INTVAL (operands[2]);
...@@ -2591,7 +2600,7 @@ m32r_output_block_move (insn, operands) ...@@ -2591,7 +2600,7 @@ m32r_output_block_move (insn, operands)
int int
m32r_block_immediate_operand (op, mode) m32r_block_immediate_operand (op, mode)
rtx op; rtx op;
int mode; int mode ATTRIBUTE_UNUSED;
{ {
if (GET_CODE (op) != CONST_INT if (GET_CODE (op) != CONST_INT
|| INTVAL (op) > MAX_MOVE_BYTES || INTVAL (op) > MAX_MOVE_BYTES
......
...@@ -1984,19 +1984,8 @@ enum m32r_function_type ...@@ -1984,19 +1984,8 @@ enum m32r_function_type
{ "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }}, { "large_insn_p", { INSN, CALL_INSN, JUMP_INSN }},
/* Functions declared in m32r.c */ /* Functions declared in m32r.c */
#ifndef PROTO #define XPROTO(ARGS) ()
#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__) #define STDIO_XPROTO(ARGS) ()
#define PROTO(ARGS) ARGS
#else
#define PROTO(ARGS) ()
#endif
#endif
#ifdef BUFSIZ /* stdio.h has been included, ok to use FILE * */
#define STDIO_PROTO(ARGS) PROTO(ARGS)
#else
#define STDIO_PROTO(ARGS) ()
#endif
#ifndef TREE_CODE #ifndef TREE_CODE
union tree_node; union tree_node;
...@@ -2012,65 +2001,68 @@ struct rtx_def; ...@@ -2012,65 +2001,68 @@ struct rtx_def;
#define Rtx rtx #define Rtx rtx
#endif #endif
extern void sbss_section PROTO((void)); extern void sbss_section XPROTO((void));
extern void sdata_section PROTO((void)); extern void sdata_section XPROTO((void));
extern void m32r_init PROTO((void)); extern void m32r_init XPROTO((void));
extern int m32r_valid_machine_decl_attribute PROTO((Tree, Tree, Tree, Tree)); extern int m32r_valid_machine_decl_attribute XPROTO((Tree, Tree, Tree, Tree));
extern int m32r_comp_type_attributes PROTO((Tree, Tree)); extern int m32r_comp_type_attributes XPROTO((Tree, Tree));
extern void m32r_select_section PROTO((Tree, int)); extern void m32r_select_section XPROTO((Tree, int));
extern void m32r_encode_section_info PROTO((Tree)); extern void m32r_encode_section_info XPROTO((Tree));
extern void m32r_init_expanders PROTO((void)); extern void m32r_init_expanders XPROTO((void));
extern int call_address_operand PROTO((Rtx, int)); extern int call_address_operand XPROTO((Rtx, enum machine_mode));
extern int call_operand PROTO((Rtx, int)); extern int call_operand XPROTO((Rtx, enum machine_mode));
extern int symbolic_operand PROTO((Rtx, int)); extern int symbolic_operand XPROTO((Rtx, enum machine_mode));
extern int small_data_operand PROTO((Rtx, int)); extern int small_data_operand XPROTO((Rtx, enum machine_mode));
extern int addr24_operand PROTO((Rtx, int)); extern int addr24_operand XPROTO((Rtx, enum machine_mode));
extern int addr32_operand PROTO((Rtx, int)); extern int addr32_operand XPROTO((Rtx, enum machine_mode));
extern int call26_operand PROTO((Rtx, int)); extern int call26_operand XPROTO((Rtx, enum machine_mode));
extern int seth_add3_operand PROTO((Rtx, int)); extern int seth_add3_operand XPROTO((Rtx, enum machine_mode));
extern int cmp_int16_operand PROTO((Rtx, int)); extern int cmp_int16_operand XPROTO((Rtx, enum machine_mode));
extern int uint16_operand PROTO((Rtx, int)); extern int uint16_operand XPROTO((Rtx, enum machine_mode));
extern int reg_or_int16_operand PROTO((Rtx, int)); extern int reg_or_int16_operand XPROTO((Rtx, enum machine_mode));
extern int reg_or_uint16_operand PROTO((Rtx, int)); extern int reg_or_uint16_operand XPROTO((Rtx, enum machine_mode));
extern int reg_or_cmp_nt16_operand PROTO((Rtx, int)); extern int reg_or_cmp_nt16_operand XPROTO((Rtx, enum machine_mode));
extern int two_insn_const_operand PROTO((Rtx, int)); extern int two_insn_const_operand XPROTO((Rtx, enum machine_mode));
extern int move_src_operand PROTO((Rtx, int)); extern int move_src_operand XPROTO((Rtx, enum machine_mode));
extern int move_double_src_operand PROTO((Rtx, int)); extern int move_double_src_operand XPROTO((Rtx, enum machine_mode));
extern int move_dest_operand PROTO((Rtx, int)); extern int move_dest_operand XPROTO((Rtx, enum machine_mode));
extern int easy_di_const PROTO((Rtx)); extern int easy_di_const XPROTO((Rtx));
extern int easy_df_const PROTO((Rtx)); extern int easy_df_const XPROTO((Rtx));
extern int eqne_comparison_operator PROTO((Rtx, int)); extern int eqne_comparison_operator XPROTO((Rtx, enum machine_mode));
extern int signed_comparison_operator PROTO((Rtx, int)); extern int signed_comparison_operator XPROTO((Rtx, enum machine_mode));
extern int memreg_operand PROTO((Rtx, int)); extern int memreg_operand XPROTO((Rtx, enum machine_mode));
extern int small_insn_p PROTO((Rtx, int)); extern int small_insn_p XPROTO((Rtx, enum machine_mode));
extern int large_insn_p PROTO((Rtx, int)); extern int large_insn_p XPROTO((Rtx, enum machine_mode));
extern int m32r_select_cc_mode PROTO((int, Rtx, Rtx)); extern int m32r_select_cc_mode XPROTO((int, Rtx, Rtx));
extern Rtx gen_compare PROTO((int, Rtx, Rtx, int)); extern Rtx gen_compare XPROTO((int, Rtx, Rtx, int));
extern Rtx gen_split_move_double PROTO((Rtx *)); extern Rtx gen_split_move_double XPROTO((Rtx *));
extern int function_arg_partial_nregs PROTO((CUMULATIVE_ARGS *, extern int function_arg_partial_nregs XPROTO((CUMULATIVE_ARGS *,
int, Tree, int)); int, Tree, int));
extern void m32r_setup_incoming_varargs PROTO((CUMULATIVE_ARGS *, extern void m32r_setup_incoming_varargs XPROTO((CUMULATIVE_ARGS *,
int, Tree, int *, int, Tree, int *,
int)); int));
extern struct rtx_def *m32r_va_arg PROTO((Tree, Tree)); extern struct rtx_def *m32r_va_arg XPROTO((Tree, Tree));
extern int m32r_address_code PROTO((Rtx)); extern int m32r_address_code XPROTO((Rtx));
extern enum m32r_function_type m32r_compute_function_type extern enum m32r_function_type m32r_compute_function_type
PROTO((Tree)); XPROTO((Tree));
extern unsigned m32r_compute_frame_size PROTO((int)); extern unsigned m32r_compute_frame_size XPROTO((int));
extern int m32r_first_insn_address PROTO((void)); extern int m32r_first_insn_address XPROTO((void));
extern void m32r_expand_prologue PROTO((void)); extern void m32r_expand_prologue XPROTO((void));
extern void m32r_output_function_prologue STDIO_PROTO((FILE *, int)); extern void m32r_output_function_prologue STDIO_XPROTO((FILE *, int));
extern void m32r_output_function_epilogue STDIO_PROTO((FILE *, int)); extern void m32r_output_function_epilogue STDIO_XPROTO((FILE *, int));
extern void m32r_finalize_pic PROTO((void)); extern void m32r_finalize_pic XPROTO((void));
extern void m32r_initialize_trampoline PROTO((Rtx, Rtx, Rtx)); extern void m32r_initialize_trampoline XPROTO((Rtx, Rtx, Rtx));
extern void m32r_asm_file_start STDIO_PROTO((FILE *)); extern void m32r_asm_file_start STDIO_XPROTO((FILE *));
extern void m32r_print_operand STDIO_PROTO((FILE *, Rtx, int)); extern void m32r_print_operand STDIO_XPROTO((FILE *, Rtx, int));
extern void m32r_print_operand_address STDIO_PROTO((FILE *, Rtx)); extern void m32r_print_operand_address STDIO_XPROTO((FILE *, Rtx));
extern int zero_and_one PROTO((Rtx, Rtx)); extern int zero_and_one XPROTO((Rtx, Rtx));
extern int conditional_move_operand PROTO((Rtx, int)); extern int conditional_move_operand XPROTO((Rtx, enum machine_mode));
extern int carry_compare_operand PROTO((Rtx, int)); extern int carry_compare_operand XPROTO((Rtx, enum machine_mode));
extern char *emit_cond_move PROTO((Rtx *, Rtx)); extern char *emit_cond_move XPROTO((Rtx *, Rtx));
extern char * m32r_output_block_move PROTO((Rtx, Rtx *)); extern char * m32r_output_block_move XPROTO((Rtx, Rtx *));
extern int m32r_block_immediate_operand PROTO((Rtx, int)); extern int m32r_block_immediate_operand XPROTO((Rtx, enum machine_mode));
extern void m32r_expand_block_move PROTO((Rtx *)); extern void m32r_expand_block_move XPROTO((Rtx *));
#undef XPROTO
#undef STDIO_XPROTO
...@@ -388,7 +388,7 @@ ...@@ -388,7 +388,7 @@
&& (GET_CODE (operands[1]) == REG || GET_CODE (operands[1]) == SUBREG)) && (GET_CODE (operands[1]) == REG || GET_CODE (operands[1]) == SUBREG))
return \"st %1,%0\"; return \"st %1,%0\";
fatal_insn (\"bad movsi insn\", insn); abort ();
}" }"
[(set_attr "type" "int2,int2,int4,int4,int4,multi,load2,load2,load4,store2,store2,store4") [(set_attr "type" "int2,int2,int4,int4,int4,multi,load2,load2,load4,store2,store2,store4")
(set_attr "length" "2,2,4,4,4,8,2,2,4,2,2,4")]) (set_attr "length" "2,2,4,4,4,8,2,2,4,2,2,4")])
...@@ -1418,6 +1418,8 @@ ...@@ -1418,6 +1418,8 @@
case GT : br = \"gt\"; invbr = \"le\"; break; case GT : br = \"gt\"; invbr = \"le\"; break;
case LT : br = \"lt\"; invbr = \"ge\"; break; case LT : br = \"lt\"; invbr = \"ge\"; break;
case GE : br = \"ge\"; invbr = \"lt\"; break; case GE : br = \"ge\"; invbr = \"lt\"; break;
default: abort();
} }
/* Is branch target reachable with bxxz? */ /* Is branch target reachable with bxxz? */
...@@ -1463,6 +1465,8 @@ ...@@ -1463,6 +1465,8 @@
case GT : br = \"gt\"; invbr = \"le\"; break; case GT : br = \"gt\"; invbr = \"le\"; break;
case LT : br = \"lt\"; invbr = \"ge\"; break; case LT : br = \"lt\"; invbr = \"ge\"; break;
case GE : br = \"ge\"; invbr = \"lt\"; break; case GE : br = \"ge\"; invbr = \"lt\"; break;
default: abort();
} }
/* Is branch target reachable with bxxz? */ /* Is branch target reachable with bxxz? */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment