diff options
| author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-24 19:16:45 +0000 |
|---|---|---|
| committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-02-24 19:16:45 +0000 |
| commit | 40f89ebf453edf50b8dd69e7df4d8ca71eefff35 (patch) | |
| tree | 4d270e76157d001aa4ed2e3c2473dae0d08611be | |
| parent | 55680befb0b4e26e0214a8ec86f9de3518fc8b29 (diff) | |
| download | ppe42-gcc-40f89ebf453edf50b8dd69e7df4d8ca71eefff35.tar.gz ppe42-gcc-40f89ebf453edf50b8dd69e7df4d8ca71eefff35.zip | |
* pa.md (muldi3): Force subregs to registers in 64-bit expander.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122294 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/config/pa/pa.md | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84e83e40844..58980dcd200 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2007-02-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * pa.md (muldi3): Force subregs to registers in 64-bit expander. + 2007-02-24 Jan Hubicka <jh@suse.cz> * cgraphunit.c (decide_is_function_needed): Honor diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index d686cb82b57..720bf150122 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -5771,10 +5771,10 @@ GEN_INT (32))); emit_move_insn (op2shifted, gen_rtx_LSHIFTRT (DImode, operands[2], GEN_INT (32))); - op1r = gen_rtx_SUBREG (SImode, operands[1], 4); - op2r = gen_rtx_SUBREG (SImode, operands[2], 4); - op1l = gen_rtx_SUBREG (SImode, op1shifted, 4); - op2l = gen_rtx_SUBREG (SImode, op2shifted, 4); + op1r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[1], 4)); + op2r = force_reg (SImode, gen_rtx_SUBREG (SImode, operands[2], 4)); + op1l = force_reg (SImode, gen_rtx_SUBREG (SImode, op1shifted, 4)); + op2l = force_reg (SImode, gen_rtx_SUBREG (SImode, op2shifted, 4)); /* Emit multiplies for the cross products. */ emit_insn (gen_umulsidi3 (cross_product1, op2r, op1l)); |

