aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2001-05-06 19:35:41 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2001-05-06 19:35:41 +0000
commit024c02b1785d83137ea6ffd6d2e68ddac44d9588 (patch)
treeb279e28667a0579ace8de6014752bcbb2b615f39 /gcc
parent762e166bf4d338061f686573efad159cd4d7f494 (diff)
downloadgcc-024c02b1785d83137ea6ffd6d2e68ddac44d9588.zip
gcc-024c02b1785d83137ea6ffd6d2e68ddac44d9588.tar.gz
gcc-024c02b1785d83137ea6ffd6d2e68ddac44d9588.tar.bz2
* config/mips/mips.md: Sign extend CONST_INTs.
From-SVN: r41883
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/mips/mips.md34
2 files changed, 29 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 98450e4..aee84f7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2001-05-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/mips/mips.md: Sign extend CONST_INTs.
+
2001-05-06 Andreas Jaeger <aj@suse.de>
* invoke.texi (Option Summary): Add -momit-leaf-frame-pointer
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 4740f6c..ec9cd1f 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -2277,7 +2277,10 @@
copy_to_mode_reg (SImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (SImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (SImode,
+ GEN_INT
+ (trunc_int_for_mode
+ (BITMASK_HIGH, SImode))),
GEN_INT (0x6)));
}
@@ -2324,7 +2327,8 @@
copy_to_mode_reg (DImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (DImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (DImode,
+ GEN_INT (BITMASK_HIGH)),
GEN_INT (0x6)));
}
@@ -2535,7 +2539,10 @@
copy_to_mode_reg (SImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (SImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (SImode,
+ GEN_INT
+ (trunc_int_for_mode
+ (BITMASK_HIGH, SImode))),
GEN_INT (0x6)));
}
@@ -2575,7 +2582,8 @@
copy_to_mode_reg (DImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (DImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (DImode,
+ GEN_INT (BITMASK_HIGH)),
GEN_INT (0x6)));
}
@@ -2615,7 +2623,10 @@
copy_to_mode_reg (SImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (SImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (SImode,
+ GEN_INT
+ (trunc_int_for_mode
+ (BITMASK_HIGH, SImode))),
GEN_INT (0x6)));
}
@@ -2655,7 +2666,8 @@
copy_to_mode_reg (DImode, GEN_INT (-1)),
GEN_INT (0x6)));
emit_insn (gen_div_trap (operands[2],
- copy_to_mode_reg (DImode, GEN_INT (BITMASK_HIGH)),
+ copy_to_mode_reg (DImode,
+ GEN_INT (BITMASK_HIGH)),
GEN_INT (0x6)));
}
@@ -4319,7 +4331,8 @@ move\\t%0,%z4\\n\\
emit_label (label1);
emit_move_insn (reg2, gen_rtx_MINUS (DFmode, operands[1], reg1));
- emit_move_insn (reg3, GEN_INT (BITMASK_HIGH));
+ emit_move_insn (reg3, GEN_INT (trunc_int_for_mode
+ (BITMASK_HIGH, SImode)));
emit_insn (gen_fix_truncdfsi2 (operands[0], reg2));
emit_insn (gen_iorsi3 (operands[0], operands[0], reg3));
@@ -4406,7 +4419,8 @@ move\\t%0,%z4\\n\\
emit_label (label1);
emit_move_insn (reg2, gen_rtx_MINUS (SFmode, operands[1], reg1));
- emit_move_insn (reg3, GEN_INT (BITMASK_HIGH));
+ emit_move_insn (reg3, GEN_INT (trunc_int_for_mode (BITMASK_HIGH,
+ SImode)));
emit_insn (gen_fix_truncsfsi2 (operands[0], reg2));
emit_insn (gen_iorsi3 (operands[0], operands[0], reg3));
@@ -5179,7 +5193,9 @@ move\\t%0,%z4\\n\\
(match_dup 3)))]
"
{
- operands[2] = GEN_INT (INTVAL (operands[1]) & BITMASK_UPPER16);
+ operands[2] = GEN_INT (trunc_int_for_mode (INTVAL (operands[1])
+ & BITMASK_UPPER16,
+ SImode));
operands[3] = GEN_INT (INTVAL (operands[1]) & BITMASK_LOWER16);
}")