diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-07 05:49:18 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-07 05:49:18 +0000 |
commit | 7014838cdd847f5d22f8b4bff0285ad622b707b5 (patch) | |
tree | f1a67b6ea75a7f0da3f06e0a1c60b213f4403168 /gcc/config/mn10300 | |
parent | 713829e97b2cabe9369424002f6efb23a7c86aba (diff) | |
download | gcc-7014838cdd847f5d22f8b4bff0285ad622b707b5.tar.gz |
Merge in gcc2-ss-010999
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29150 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/mn10300')
-rw-r--r-- | gcc/config/mn10300/mn10300.c | 32 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.h | 12 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.md | 21 | ||||
-rw-r--r-- | gcc/config/mn10300/xm-mn10300.h | 9 |
4 files changed, 33 insertions, 41 deletions
diff --git a/gcc/config/mn10300/mn10300.c b/gcc/config/mn10300/mn10300.c index 8703bf03134..d85f9d2dc00 100644 --- a/gcc/config/mn10300/mn10300.c +++ b/gcc/config/mn10300/mn10300.c @@ -1,5 +1,5 @@ /* Subroutines for insn-output.c for Matsushita MN10300 series - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. Contributed by Jeff Law (law@cygnus.com). This file is part of GNU CC. @@ -20,7 +20,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "config.h" -#include <stdio.h> +#include "system.h" #include "rtl.h" #include "tree.h" #include "regs.h" @@ -233,7 +233,7 @@ print_operand (file, x, code) case 'A': fputc ('(', file); if (GET_CODE (XEXP (x, 0)) == REG) - output_address (gen_rtx (PLUS, SImode, XEXP (x, 0), GEN_INT (0))); + output_address (gen_rtx_PLUS (SImode, XEXP (x, 0), GEN_INT (0))); else output_address (XEXP (x, 0)); fputc (')', file); @@ -314,9 +314,9 @@ print_operand_address (file, addr) { case REG: if (addr == stack_pointer_rtx) - print_operand_address (file, gen_rtx (PLUS, SImode, - stack_pointer_rtx, - GEN_INT (0))); + print_operand_address (file, gen_rtx_PLUS (SImode, + stack_pointer_rtx, + GEN_INT (0))); else print_operand (file, addr, 0); break; @@ -376,14 +376,12 @@ expand_prologue () need to be flushed back to the stack. */ if (current_function_varargs) { - emit_move_insn (gen_rtx (MEM, SImode, - gen_rtx (PLUS, Pmode, stack_pointer_rtx, - GEN_INT (4))), - gen_rtx (REG, SImode, 0)); - emit_move_insn (gen_rtx (MEM, SImode, - gen_rtx (PLUS, Pmode, stack_pointer_rtx, - GEN_INT (8))), - gen_rtx (REG, SImode, 1)); + emit_move_insn (gen_rtx_MEM (SImode, + plus_constant (stack_pointer_rtx, 4)), + gen_rtx_REG (SImode, 0)); + emit_move_insn (gen_rtx_MEM (SImode, + plus_constant (stack_pointer_rtx, 8)), + gen_rtx_REG (SImode, 1)); } /* And now store all the registers onto the stack with a @@ -747,10 +745,10 @@ function_arg (cum, mode, type, named) switch (cum->nbytes / UNITS_PER_WORD) { case 0: - result = gen_rtx (REG, mode, 0); + result = gen_rtx_REG (mode, 0); break; case 1: - result = gen_rtx (REG, mode, 1); + result = gen_rtx_REG (mode, 1); break; default: result = 0; @@ -995,7 +993,7 @@ legitimize_address (x, oldx, mode) regy2 = force_reg (Pmode, force_operand (XEXP (y, 1), 0)); regx1 = force_reg (Pmode, gen_rtx (GET_CODE (y), Pmode, regx1, regy2)); - return force_reg (Pmode, gen_rtx (PLUS, Pmode, regx1, regy1)); + return force_reg (Pmode, gen_rtx_PLUS (Pmode, regx1, regy1)); } } return x; diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h index b426413c422..a7686ca81cb 100644 --- a/gcc/config/mn10300/mn10300.h +++ b/gcc/config/mn10300/mn10300.h @@ -1,5 +1,5 @@ /* Definitions of target machine for GNU compiler. Matsushita MN10300 series - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. Contributed by Jeff Law (law@cygnus.com). This file is part of GNU CC. @@ -485,12 +485,12 @@ extern struct rtx_def *function_arg (); otherwise, FUNC is 0. */ #define FUNCTION_VALUE(VALTYPE, FUNC) \ - gen_rtx (REG, TYPE_MODE (VALTYPE), POINTER_TYPE_P (VALTYPE) ? 4 : 0) + gen_rtx_REG (TYPE_MODE (VALTYPE), POINTER_TYPE_P (VALTYPE) ? 4 : 0) /* Define how to find the value returned by a library function assuming the value has mode MODE. */ -#define LIBCALL_VALUE(MODE) gen_rtx (REG, MODE, 0) +#define LIBCALL_VALUE(MODE) gen_rtx_REG (MODE, 0) /* 1 if N is a possible register number for a function value. */ @@ -544,9 +544,9 @@ extern struct rtx_def *function_arg (); #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ { \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant ((TRAMP), 0x14)), \ + emit_move_insn (gen_rtx_MEM (SImode, plus_constant ((TRAMP), 0x14)), \ (CXT)); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant ((TRAMP), 0x18)), \ + emit_move_insn (gen_rtx_MEM (SImode, plus_constant ((TRAMP), 0x18)), \ (FNADDR)); \ } /* A C expression whose value is RTL representing the value of the return @@ -560,7 +560,7 @@ extern struct rtx_def *function_arg (); #define RETURN_ADDR_RTX(COUNT, FRAME) \ ((COUNT == 0) \ - ? gen_rtx (MEM, Pmode, arg_pointer_rtx) \ + ? gen_rtx_MEM (Pmode, arg_pointer_rtx) \ : (rtx) 0) /* Emit code for a call to builtin_saveregs. We must emit USE insns which diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md index 8c3e2ac3cc0..59acf5ac397 100644 --- a/gcc/config/mn10300/mn10300.md +++ b/gcc/config/mn10300/mn10300.md @@ -1,7 +1,6 @@ ;; GCC machine description for Matsushita MN10300 -;; Copyright (C) 1996, 1997 Free Software Foundation, Inc. - -;; Contributed by Jeff Law (law@cygnus.com). +;; Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +;; Contributed by Jeff Law (law@cygnus.com). ;; This file is part of GNU CC. @@ -159,8 +158,9 @@ && (GET_MODE_SIZE (GET_MODE (XEXP (operands[1], 1))) > GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (operands[1], 1)))))) emit_move_insn (operands[2], - gen_rtx (ZERO_EXTEND, GET_MODE (XEXP (operands[1], 1)), - SUBREG_REG (XEXP (operands[1], 1)))); + gen_rtx_ZERO_EXTEND + (GET_MODE (XEXP (operands[1], 1)), + SUBREG_REG (XEXP (operands[1], 1)))); else emit_move_insn (operands[2], XEXP (operands[1], 1)); emit_move_insn (operands[0], XEXP (operands[1], 0)); @@ -171,8 +171,9 @@ && (GET_MODE_SIZE (GET_MODE (XEXP (operands[1], 0))) > GET_MODE_SIZE (GET_MODE (SUBREG_REG (XEXP (operands[1], 0)))))) emit_move_insn (operands[2], - gen_rtx (ZERO_EXTEND, GET_MODE (XEXP (operands[1], 0)), - SUBREG_REG (XEXP (operands[1], 0)))); + gen_rtx_ZERO_EXTEND + (GET_MODE (XEXP (operands[1], 0)), + SUBREG_REG (XEXP (operands[1], 0)))); else emit_move_insn (operands[2], XEXP (operands[1], 0)); emit_move_insn (operands[0], XEXP (operands[1], 1)); @@ -344,7 +345,7 @@ if (GET_CODE (temp) != REG) abort (); - if (reg_overlap_mentioned_p (gen_rtx (REG, SImode, REGNO (temp)), + if (reg_overlap_mentioned_p (gen_rtx_REG (SImode, REGNO (temp)), XEXP (operands[1], 0))) return \"mov %H1,%H0\;mov %L1,%L0\"; else @@ -476,7 +477,7 @@ if (GET_CODE (temp) != REG) abort (); - if (reg_overlap_mentioned_p (gen_rtx (REG, SImode, REGNO (temp)), + if (reg_overlap_mentioned_p (gen_rtx_REG (SImode, REGNO (temp)), XEXP (operands[1], 0))) return \"mov %H1,%H0\;mov %L1,%L0\"; else @@ -586,7 +587,7 @@ && GET_CODE (operands[2]) != CONST_INT) { rtx temp = gen_reg_rtx (SImode); - emit_move_insn (temp, gen_rtx (PLUS, SImode, operands[1], operands[2])); + emit_move_insn (temp, gen_rtx_PLUS (SImode, operands[1], operands[2])); emit_move_insn (operands[0], temp); DONE; } diff --git a/gcc/config/mn10300/xm-mn10300.h b/gcc/config/mn10300/xm-mn10300.h index 63d61c276c2..84f888be488 100644 --- a/gcc/config/mn10300/xm-mn10300.h +++ b/gcc/config/mn10300/xm-mn10300.h @@ -1,5 +1,5 @@ /* Configuration for Matsushita MN10300. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1998, 1999 Free Software Foundation, Inc. Contributed by Cygnus Support. This file is part of GNU CC. @@ -38,10 +38,3 @@ Boston, MA 02111-1307, USA. */ tm.h is a symbolic link to the actual target specific file. */ #include "tm.h" - -#ifndef __STDC__ -extern char *malloc (), *realloc (), *calloc (); -#else -extern void *malloc (), *realloc (), *calloc (); -#endif -extern void free (); |