summaryrefslogtreecommitdiffstats
path: root/gcc/config
diff options
context:
space:
mode:
authoramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-09 06:37:25 +0000
committeramodra <amodra@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-09 06:37:25 +0000
commit530178a9be2a321ee0169e7ff9b66420848d53aa (patch)
tree11c05a6d50d52041f7b10158a9e959b9b5d5b82c /gcc/config
parenta422f390a744f7fbeef698c3634ed3c10e247a01 (diff)
downloadppe42-gcc-530178a9be2a321ee0169e7ff9b66420848d53aa.tar.gz
ppe42-gcc-530178a9be2a321ee0169e7ff9b66420848d53aa.zip
* expr.c (move_block_from_reg): Remove "size" parm. Localize vars.
Move code handling pieces not larger than a word to.. * function.c (assign_parms): ..here, but use change_address instead of adjust_address and operand_subword, and expand_binop instead of expand_shift. Adjust calls to move_block_from_reg. * expr.h (move_block_from_reg): Update declaration. (copy_blkmode_from_reg): Formatting. * Makefile.in (function.o): Add $(OPTABS_H) to deps. * config/alpha/alpha.c (alpha_setup_incoming_varargs): Adjust move_block_from_reg calls. * config/arc/arc.c (arc_setup_incoming_varargs): Likewise. * config/i960/i960.c (i960_setup_incoming_varargs): Likewise. * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise. * config/m88k/m88k.c (m88k_builtin_saveregsk): Likewise. * config/mips/mips.c (mips_setup_incoming_varargs): Likewise. * config/pa/pa.c (hppa_builtin_saveregs): Likewise. * config/romp/romp.h (SETUP_INCOMING_VARARGS): Likewise. * config/rs6000/rs6000.c (setup_incoming_varargs): Likewise. * config/sh/sh.c (sh_builtin_saveregs): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66623 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/alpha/alpha.c4
-rw-r--r--gcc/config/arc/arc.c6
-rw-r--r--gcc/config/i960/i960.c5
-rw-r--r--gcc/config/m32r/m32r.c5
-rw-r--r--gcc/config/m88k/m88k.c5
-rw-r--r--gcc/config/mips/mips.c2
-rw-r--r--gcc/config/pa/pa.c2
-rw-r--r--gcc/config/romp/romp.h6
-rw-r--r--gcc/config/rs6000/rs6000.c6
-rw-r--r--gcc/config/sh/sh.c6
10 files changed, 20 insertions, 27 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index b6538e67f9c..e6a6410ebc5 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -6418,14 +6418,14 @@ alpha_setup_incoming_varargs(cum, mode, type, pretend_size, no_rtl)
plus_constant (virtual_incoming_args_rtx,
(cum + 6) * UNITS_PER_WORD));
set_mem_alias_set (tmp, set);
- move_block_from_reg (16 + cum, tmp, 6 - cum, (6 - cum) * UNITS_PER_WORD);
+ move_block_from_reg (16 + cum, tmp, 6 - cum);
tmp = gen_rtx_MEM (BLKmode,
plus_constant (virtual_incoming_args_rtx,
cum * UNITS_PER_WORD));
set_mem_alias_set (tmp, set);
move_block_from_reg (16 + (TARGET_FPREGS ? 32 : 0) + cum, tmp,
- 6 - cum, (6 - cum) * UNITS_PER_WORD);
+ 6 - cum);
}
*pretend_size = 12 * UNITS_PER_WORD;
}
diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c
index 5dcb105b051..faf8c1be051 100644
--- a/gcc/config/arc/arc.c
+++ b/gcc/config/arc/arc.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Argonaut ARC cpu.
- Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -831,9 +831,7 @@ arc_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
set_mem_alias_set (regblock, get_varargs_alias_set ());
set_mem_align (regblock, BITS_PER_WORD);
move_block_from_reg (first_reg_offset, regblock,
- MAX_ARC_PARM_REGS - first_reg_offset,
- ((MAX_ARC_PARM_REGS - first_reg_offset)
- * UNITS_PER_WORD));
+ MAX_ARC_PARM_REGS - first_reg_offset);
*pretend_size = ((MAX_ARC_PARM_REGS - first_reg_offset + align_slop)
* UNITS_PER_WORD);
diff --git a/gcc/config/i960/i960.c b/gcc/config/i960/i960.c
index 7436104c3ff..dc0353c8382 100644
--- a/gcc/config/i960/i960.c
+++ b/gcc/config/i960/i960.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on intel 80960.
- Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+ Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
Contributed by Steven McGeady, Intel Corp.
Additional Work by Glenn Colon-Bonet, Jonathan Shapiro, Andy Wilson
@@ -2592,8 +2592,7 @@ i960_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
set_mem_alias_set (regblock, get_varargs_alias_set ());
set_mem_align (regblock, BITS_PER_WORD);
move_block_from_reg (first_reg, regblock,
- NPARM_REGS - first_reg,
- (NPARM_REGS - first_reg) * UNITS_PER_WORD);
+ NPARM_REGS - first_reg);
}
}
diff --git a/gcc/config/m32r/m32r.c b/gcc/config/m32r/m32r.c
index a4e2ea2ba65..c8f0c728e6d 100644
--- a/gcc/config/m32r/m32r.c
+++ b/gcc/config/m32r/m32r.c
@@ -1,5 +1,5 @@
/* Subroutines used for code generation on the Mitsubishi M32R cpu.
- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002
+ Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
Free Software Foundation, Inc.
This file is part of GNU CC.
@@ -1405,8 +1405,7 @@ m32r_setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
plus_constant (arg_pointer_rtx,
FIRST_PARM_OFFSET (0)));
set_mem_alias_set (regblock, get_varargs_alias_set ());
- move_block_from_reg (first_reg_offset, regblock,
- size, size * UNITS_PER_WORD);
+ move_block_from_reg (first_reg_offset, regblock, size);
*pretend_size = (size * UNITS_PER_WORD);
}
diff --git a/gcc/config/m88k/m88k.c b/gcc/config/m88k/m88k.c
index 33818a9095e..a27d8a3acbe 100644
--- a/gcc/config/m88k/m88k.c
+++ b/gcc/config/m88k/m88k.c
@@ -1,6 +1,6 @@
/* Subroutines for insn-output.c for Motorola 88000.
Copyright (C) 1988, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002 Free Software Foundation, Inc.
+ 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by Michael Tiemann (tiemann@mcc.com)
Currently maintained by (gcc@dg-rtp.dg.com)
@@ -2594,8 +2594,7 @@ m88k_builtin_saveregs ()
if (fixed < 8)
move_block_from_reg (2 + fixed,
adjust_address (addr, Pmode, fixed * UNITS_PER_WORD),
- 8 - fixed,
- UNITS_PER_WORD * (8 - fixed));
+ 8 - fixed);
/* Return the address of the save area, but don't put it in a
register. This fails when not optimizing and produces worse code
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index caebfbbf6ea..dd1f6a964fa 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4815,7 +4815,7 @@ mips_setup_incoming_varargs (cum, mode, type, no_rtl)
MEM_SET_IN_STRUCT_P (mem, 1);
move_block_from_reg (local_cum.num_gprs + GP_ARG_FIRST, mem,
- gp_saved, gp_saved * UNITS_PER_WORD);
+ gp_saved);
}
if (fp_saved > 0)
{
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 601024a44a9..82890fdda3f 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -5403,7 +5403,7 @@ hppa_builtin_saveregs ()
-16));
set_mem_alias_set (dest, get_varargs_alias_set ());
set_mem_align (dest, BITS_PER_WORD);
- move_block_from_reg (23, dest, 4, 4 * UNITS_PER_WORD);
+ move_block_from_reg (23, dest, 4);
/* move_block_from_reg will emit code to store the argument registers
individually as scalar stores.
diff --git a/gcc/config/romp/romp.h b/gcc/config/romp/romp.h
index f81d88ae14e..24fb1c25da2 100644
--- a/gcc/config/romp/romp.h
+++ b/gcc/config/romp/romp.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for ROMP chip.
- Copyright (C) 1989, 1991, 1993, 1995, 1996, 1998, 1999, 2000, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright (C) 1989, 1991, 1993, 1995, 1996, 1998, 1999, 2000, 2001, 2002,
+ 2003 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@nyu.edu)
This file is part of GNU CC.
@@ -662,7 +662,7 @@ struct rt_cargs {int gregs, fregs; };
gen_rtx_MEM (BLKmode, \
plus_constant (virtual_incoming_args_rtx, \
first_reg_offset * 4)), \
- 4 - first_reg_offset, (4 - first_reg_offset) * UNITS_PER_WORD); \
+ 4 - first_reg_offset); \
PRETEND_SIZE = (4 - first_reg_offset) * UNITS_PER_WORD; \
} \
}
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 4847a8572bd..c5cfa14b696 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3805,10 +3805,8 @@ setup_incoming_varargs (cum, mode, type, pretend_size, no_rtl)
set_mem_alias_set (mem, set);
set_mem_align (mem, BITS_PER_WORD);
- move_block_from_reg
- (GP_ARG_MIN_REG + first_reg_offset, mem,
- GP_ARG_NUM_REG - first_reg_offset,
- (GP_ARG_NUM_REG - first_reg_offset) * UNITS_PER_WORD);
+ move_block_from_reg (GP_ARG_MIN_REG + first_reg_offset, mem,
+ GP_ARG_NUM_REG - first_reg_offset);
}
/* Save FP registers if needed. */
diff --git a/gcc/config/sh/sh.c b/gcc/config/sh/sh.c
index 24829f9eec6..871cd620e7e 100644
--- a/gcc/config/sh/sh.c
+++ b/gcc/config/sh/sh.c
@@ -1,6 +1,6 @@
/* Output routines for GCC for Hitachi / SuperH SH.
- Copyright (C) 1993, 1994, 1995, 1997, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 1997, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003 Free Software Foundation, Inc.
Contributed by Steve Chamberlain (sac@cygnus.com).
Improved by Jim Wilson (wilson@cygnus.com).
@@ -5606,7 +5606,7 @@ sh_builtin_saveregs ()
move_block_from_reg (BASE_ARG_REG (SImode) + first_intreg,
adjust_address (regbuf, BLKmode,
n_floatregs * UNITS_PER_WORD),
- n_intregs, n_intregs * UNITS_PER_WORD);
+ n_intregs);
if (TARGET_SHMEDIA)
/* Return the address of the regbuf. */
OpenPOWER on IntegriCloud