aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1997-06-20 19:33:34 -0700
committerJim Wilson <wilson@gcc.gnu.org>1997-06-20 19:33:34 -0700
commit9d1cf1d98c0d9d56ccc317f21ad66aee0b2585e3 (patch)
tree965fe6cf5d93e2213e0f7ae330b908434f7a45dd
parenta8136932ccc4b64e807b1ca476473b2a3a5545e9 (diff)
downloadgcc-9d1cf1d98c0d9d56ccc317f21ad66aee0b2585e3.zip
gcc-9d1cf1d98c0d9d56ccc317f21ad66aee0b2585e3.tar.gz
gcc-9d1cf1d98c0d9d56ccc317f21ad66aee0b2585e3.tar.bz2
(mips_expand_prologue): Add check for SImode in code splitting
tsize_rtx when it is large_int. From-SVN: r14268
-rw-r--r--gcc/config/mips/mips.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 5b65ca1..c7dc67f 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -5451,7 +5451,9 @@ mips_expand_prologue ()
/* Instruction splitting doesn't preserve the RTX_FRAME_RELATED_P
bit, so make sure that we don't emit anything that can be
split. */
- if (large_int (tsize_rtx))
+ /* ??? There is no DImode ori immediate pattern, so we can only
+ do this for 32 bit code. */
+ if (large_int (tsize_rtx) && GET_MODE (tmp_rtx) == SImode)
{
insn = emit_move_insn (tmp_rtx,
GEN_INT (tsize & 0xffff0000));