diff options
author | John David Anglin <dave.anglin@nrc-cnrc.gc.ca> | 2007-02-24 19:16:45 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2007-02-24 19:16:45 +0000 |
commit | 1e6e2c303b65dc3aab3a3bd8e63416a585de88b2 (patch) | |
tree | 4d270e76157d001aa4ed2e3c2473dae0d08611be /gcc/config/pa | |
parent | a1d3118773f6510ecedb0d382030bb8bdb966d48 (diff) | |
download | gcc-1e6e2c303b65dc3aab3a3bd8e63416a585de88b2.zip gcc-1e6e2c303b65dc3aab3a3bd8e63416a585de88b2.tar.gz gcc-1e6e2c303b65dc3aab3a3bd8e63416a585de88b2.tar.bz2 |
pa.md (muldi3): Force subregs to registers in 64-bit expander.
* pa.md (muldi3): Force subregs to registers in 64-bit expander.
From-SVN: r122294
Diffstat (limited to 'gcc/config/pa')
-rw-r--r-- | gcc/config/pa/pa.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index d686cb8..720bf15 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)); |