aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2004-01-27 22:00:55 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2004-01-27 17:00:55 -0500
commit2d9db8eb8d7554a60095e61841216031fa2c6174 (patch)
tree59750df8f259badf1fa235735bc52cb09a904c5e /gcc
parentf2919ef38aef3ddfde42e8858fa1b7098a1bba5e (diff)
downloadgcc-2d9db8eb8d7554a60095e61841216031fa2c6174.zip
gcc-2d9db8eb8d7554a60095e61841216031fa2c6174.tar.gz
gcc-2d9db8eb8d7554a60095e61841216031fa2c6174.tar.bz2
rs6000.c (rs6000_emit_move): #if 0 splitting slow, unaligned loads and stores while debugging.
* config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting slow, unaligned loads and stores while debugging. Fix formatting. From-SVN: r76752
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/rs6000/rs6000.c29
2 files changed, 20 insertions, 14 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a56d962..e121b9b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-01-27 David Edelsohn <edelsohn@gnu.org>
+ * config/rs6000/rs6000.c (rs6000_emit_move): #if 0 splitting
+ slow, unaligned loads and stores while debugging. Fix formatting.
+
+2004-01-27 David Edelsohn <edelsohn@gnu.org>
+
* config/rs6000/rs6000.md (save_stack_nonlocal): Use Pmode instead
of computing wmode.
(restore_stack_nonlocal): Same.
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 10a791e..4969cd14 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -3426,6 +3426,7 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
adjust_address (operands[1], SImode, 4));
return;
}
+#if 0
else if (mode == DImode && TARGET_POWERPC64
&& GET_CODE (operands[0]) == REG
&& GET_CODE (operands[1]) == MEM && optimize > 0
@@ -3435,16 +3436,15 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
: MEM_ALIGN (operands[1]))
&& !no_new_pseudos)
{
- rtx mem;
rtx reg = gen_reg_rtx (SImode);
- mem = adjust_address (operands[1], SImode, 0);
- emit_insn (gen_rtx_SET (SImode, reg, mem));
- reg = simplify_gen_subreg (DImode, reg, SImode, 0);
+ emit_insn (gen_rtx_SET (SImode, reg,
+ adjust_address (operands[1], SImode, 0)));
+ reg = simplify_gen_subreg (DImode, reg, SImode, 0);
emit_insn (gen_insvdi (operands[0], GEN_INT (32), const0_rtx, reg));
reg = gen_reg_rtx (SImode);
- mem = adjust_address (operands[1], SImode, 4);
- emit_insn (gen_rtx_SET (SImode, reg, mem));
- reg = simplify_gen_subreg (DImode, reg, SImode, 0);
+ emit_insn (gen_rtx_SET (SImode, reg,
+ adjust_address (operands[1], SImode, 4)));
+ reg = simplify_gen_subreg (DImode, reg, SImode, 0);
emit_insn (gen_insvdi (operands[0], GEN_INT (32), GEN_INT (32), reg));
return;
}
@@ -3457,15 +3457,16 @@ rs6000_emit_move (rtx dest, rtx source, enum machine_mode mode)
: MEM_ALIGN (operands[0]))
&& !no_new_pseudos)
{
- rtx mem;
rtx reg = gen_reg_rtx (DImode);
- emit_move_insn (reg, gen_rtx_LSHIFTRT (DImode, operands[1], GEN_INT (32)));
- mem = adjust_address (operands[0], SImode, 0);
- emit_move_insn (mem, simplify_gen_subreg (SImode, reg, DImode, 0));
- mem = adjust_address (operands[0], SImode, 4);
- emit_move_insn (mem, simplify_gen_subreg (SImode, operands[1], DImode, 0));
+ emit_move_insn (reg,
+ gen_rtx_LSHIFTRT (DImode, operands[1], GEN_INT (32)));
+ emit_move_insn (adjust_address (operands[0], SImode, 0),
+ simplify_gen_subreg (SImode, reg, DImode, 0));
+ emit_move_insn (adjust_address (operands[0], SImode, 4),
+ simplify_gen_subreg (SImode, operands[1], DImode, 0));
return;
}
+#endif
if (!no_new_pseudos)
{
@@ -4500,7 +4501,7 @@ function_arg_pass_by_reference (CUMULATIVE_ARGS *cum ATTRIBUTE_UNUSED,
}
static void
-rs6000_move_block_from_reg(int regno, rtx x, int nregs)
+rs6000_move_block_from_reg (int regno, rtx x, int nregs)
{
int i;
enum machine_mode reg_mode = TARGET_32BIT ? SImode : DImode;