OSDN Git Service

(udivsi3_sh2a, divsi3_sh2a): Give these patterns an "in_delay_slot" attribute
authornickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jan 2005 14:14:56 +0000 (14:14 +0000)
committernickc <nickc@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Jan 2005 14:14:56 +0000 (14:14 +0000)
of "no" to prevent them being used in delay slots.  This is forbidden because
they might generate exceptions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@93225 138bc75d-0d04-0410-961f-82ee72b054a4

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

index d666e25..63d96c1 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
 2005-01-12  Alan Modra  <amodra@bigpond.net.au>
 
        PR target/19389
index ce4da84..b725822 100644 (file)
                (match_operand:SI 2 "arith_reg_operand" "z")))]
   "TARGET_SH2A"
   "divu        %2,%1"
                (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
 
 ;; 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"
                (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")
 
 (define_insn "divsi3_i1"
   [(set (match_operand:SI 0 "register_operand" "=z")