* config/mips/mips.md: Sign extend CONST_INTs.
authorAlexandre Oliva <aoliva@redhat.com>
Sun, 6 May 2001 19:35:41 +0000 (19:35 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Sun, 6 May 2001 19:35:41 +0000 (19:35 +0000)
From-SVN: r41883

gcc/ChangeLog
gcc/config/mips/mips.md

index 98450e4..aee84f7 100644 (file)
@@ -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
index 4740f6c..ec9cd1f 100644 (file)
                               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)));
     }
   
                               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)));
     }
   
                               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)));
     }
   
                               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)));
     }
   
                               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)));
     }
   
                               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);
 }")