diff options
author | Torbjorn Granlund <tege@gnu.org> | 1992-09-01 15:38:03 +0000 |
---|---|---|
committer | Torbjorn Granlund <tege@gnu.org> | 1992-09-01 15:38:03 +0000 |
commit | 498ee10c6a1a15f8b06cafa63ef925b6f81e12c3 (patch) | |
tree | 4a25268a743cef08a6611315fe4db43a98077997 /gcc/config/pa | |
parent | 663216865f55ee324407cb57d2959d500111a5de (diff) | |
download | gcc-498ee10c6a1a15f8b06cafa63ef925b6f81e12c3.zip gcc-498ee10c6a1a15f8b06cafa63ef925b6f81e12c3.tar.gz gcc-498ee10c6a1a15f8b06cafa63ef925b6f81e12c3.tar.bz2 |
(output_move_double): Use `ldo' for immediate adds (instead of `addi' with bad syntax).
(output_move_double): Use `ldo' for immediate adds (instead of
`addi' with bad syntax).
(output_load_address): Likewise.
From-SVN: r2013
Diffstat (limited to 'gcc/config/pa')
-rw-r--r-- | gcc/config/pa/pa.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 1e5a98e..aff943c 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -905,10 +905,10 @@ output_move_double (operands) /* XXX THIS PROBABLY DOESN'T WORK. */ /* Do the late half first. */ if (addreg1) - output_asm_insn ("addi 4,%0", &addreg1); + output_asm_insn ("ldo 4(%0),%0", &addreg1); output_asm_insn (singlemove_string (latehalf), latehalf); if (addreg1) - output_asm_insn ("addi -4,%0", &addreg1); + output_asm_insn ("ldo -4(%0),%0", &addreg1); /* Then clobber. */ return singlemove_string (operands); } @@ -926,18 +926,18 @@ output_move_double (operands) /* Make any unoffsettable addresses point at high-numbered word. */ if (addreg0) - output_asm_insn ("addi 4,%0", &addreg0); + output_asm_insn ("ldo 4(%0),%0", &addreg0); if (addreg1) - output_asm_insn ("addi 4,%0", &addreg1); + output_asm_insn ("ldo 4(%0),%0", &addreg1); /* Do that word. */ output_asm_insn (singlemove_string (latehalf), latehalf); /* Undo the adds we just did. */ if (addreg0) - output_asm_insn ("addi -4,%0", &addreg0); + output_asm_insn ("ldo -4(%0),%0", &addreg0); if (addreg1) - output_asm_insn ("addi -4,%0", &addreg1); + output_asm_insn ("ldo -4(%0),%0", &addreg1); return ""; } @@ -1078,7 +1078,7 @@ output_load_address (operands) if (offset == const0_rtx) output_asm_insn ("add %6,%7,%0", operands); else if (INT_14_BITS (offset)) - output_asm_insn ("add %6,%7,%0\n\taddi %8,%0", operands); + output_asm_insn ("add %6,%7,%0\n\tldo %8(%0),%0", operands); else output_asm_insn ("addil L'%8,%6\n\tldo R'%8(1),%0\n\tadd %0,%7,%0", operands); } |