aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/pa.c
diff options
context:
space:
mode:
authorTorbjorn Granlund <tege@gnu.org>1995-02-06 02:55:49 +0000
committerTorbjorn Granlund <tege@gnu.org>1995-02-06 02:55:49 +0000
commit8919037ceb84cd460c7faef1623acb3a4f27e310 (patch)
treeff417c00b39c2ff930e872b7ef299bed01a67e67 /gcc/config/pa/pa.c
parent5dee33ac59489c42cd6998f6ef842f9de2e99b64 (diff)
downloadgcc-8919037ceb84cd460c7faef1623acb3a4f27e310.zip
gcc-8919037ceb84cd460c7faef1623acb3a4f27e310.tar.gz
gcc-8919037ceb84cd460c7faef1623acb3a4f27e310.tar.bz2
(globally): Use GEN_INT.
(emit_move_sequence): Use expand_inc instead of plus_constant (generates less rtl). From-SVN: r8872
Diffstat (limited to 'gcc/config/pa/pa.c')
-rw-r--r--gcc/config/pa/pa.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c
index 15054c5..1b07661 100644
--- a/gcc/config/pa/pa.c
+++ b/gcc/config/pa/pa.c
@@ -984,9 +984,7 @@ emit_move_sequence (operands, mode, scratch_reg)
/* Add back in the constant part if needed. */
if (const_part != NULL)
- emit_insn (gen_rtx (SET, mode, operand0,
- plus_constant (operand0,
- XEXP (const_part, 0))));
+ expand_inc (operand0, const_part);
return 1;
}
return 1;
@@ -1059,7 +1057,7 @@ singlemove_string (operands)
v.f = REAL_VALUE_TRUNCATE (SFmode, u.d);
i = v.i;
- operands[1] = gen_rtx (CONST_INT, VOIDmode, i);
+ operands[1] = GEN_INT (i);
/* See if we can handle this constant in a single instruction. */
if (cint_ok_for_move (INTVAL (operands[1])))
@@ -1511,7 +1509,7 @@ output_block_move (operands, size_is_constant)
else
{
/* Store the last, partial word. */
- operands[4] = gen_rtx (CONST_INT, VOIDmode, n_bytes % 4);
+ operands[4] = GEN_INT (n_bytes % 4);
output_asm_insn ("stbys,e %2,%4(0,%0)", operands);
}
return "";
@@ -1566,7 +1564,7 @@ output_block_move (operands, size_is_constant)
{
/* Size is compile-time determined, and also not
very small (such small cases are handled above). */
- operands[4] = gen_rtx (CONST_INT, VOIDmode, n_bytes - 4);
+ operands[4] = GEN_INT (n_bytes - 4);
output_asm_insn ("ldo %4(0),%2", operands);
}
else
@@ -1592,7 +1590,7 @@ output_block_move (operands, size_is_constant)
{
/* Read the entire word of the source block tail. */
output_asm_insn ("ldw 0(0,%1),%3", operands);
- operands[4] = gen_rtx (CONST_INT, VOIDmode, n_bytes % 4);
+ operands[4] = GEN_INT (n_bytes % 4);
output_asm_insn ("stbys,e %3,%4(0,%0)", operands);
}
}
@@ -1758,7 +1756,7 @@ output_and (operands)
if (len == 0)
abort ();
- operands[2] = gen_rtx (CONST_INT, VOIDmode, len);
+ operands[2] = GEN_INT (len);
return "extru %1,31,%2,%0";
}
else
@@ -1769,8 +1767,8 @@ output_and (operands)
p = 31 - ls0;
len = ls1 - ls0;
- operands[2] = gen_rtx (CONST_INT, VOIDmode, p);
- operands[3] = gen_rtx (CONST_INT, VOIDmode, len);
+ operands[2] = GEN_INT (p);
+ operands[3] = GEN_INT (len);
return "depi 0,%2,%3,%0";
}
}
@@ -1802,8 +1800,8 @@ output_ior (operands)
p = 31 - bs0;
len = bs1 - bs0;
- operands[2] = gen_rtx (CONST_INT, VOIDmode, p);
- operands[3] = gen_rtx (CONST_INT, VOIDmode, len);
+ operands[2] = GEN_INT (p);
+ operands[3] = GEN_INT (len);
return "depi -1,%2,%3,%0";
}