(udivsi3_sh2a...
authorNick Clifton <nickc@redhat.com>
Wed, 12 Jan 2005 14:14:56 +0000 (14:14 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 12 Jan 2005 14:14:56 +0000 (14:14 +0000)
(udivsi3_sh2a, divsi3_sh2a): Give these patterns an "in_delay_slot" attribute
of "no" to prevent them being used in delay slots.  This is forbidden because
they might generate exceptions.

From-SVN: r93225

gcc/ChangeLog
gcc/config/sh/sh.md

index d666e25132870e50dacc82fa3dda3bf248975b35..63d96c1edc62fdf32b98564c297baf9732938f60 100644 (file)
@@ -1,3 +1,10 @@
+2005-01-12  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/sh.md (udivsi3_sh2a, divsi3_sh2a): Give these patterns
+       an "in_delay_slot" attribute of "no" to prevent them being used in
+       delay slots.  This is forbidden because they might generate
+       exceptions.
+
 2005-01-12  Alan Modra  <amodra@bigpond.net.au>
 
        PR target/19389
index ce4da84308e495c9d21c7da39f6878eb7b9c5159..b72582249d1578e566a19d5e92b53a16a9913675 100644 (file)
                (match_operand:SI 2 "arith_reg_operand" "z")))]
   "TARGET_SH2A"
   "divu        %2,%1"
-  [(set_attr "type" "arith")])
+  [(set_attr "type" "arith")
+   (set_attr "in_delay_slot" "no")])
 
 ;; We must use a pseudo-reg forced to reg 0 in the SET_DEST rather than
 ;; hard register 0.  If we used hard register 0, then the next instruction
                (match_operand:SI 2 "arith_reg_operand" "z")))]
   "TARGET_SH2A"
   "divs        %2,%1"
-  [(set_attr "type" "arith")])
+  [(set_attr "type" "arith")
+   (set_attr "in_delay_slot" "no")])
 
 (define_insn "divsi3_i1"
   [(set (match_operand:SI 0 "register_operand" "=z")