diff options
author | Nick Clifton <nickc@redhat.com> | 2005-01-12 14:14:56 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2005-01-12 14:14:56 +0000 |
commit | 98e20ffd24f21f59b5eb49edb45961a2790bf81a (patch) | |
tree | ac31004059bffcd8ba1a183337194fd21be140ed | |
parent | 409f61cd325af79b30cf0d9862643cb265c961f1 (diff) | |
download | gcc-98e20ffd24f21f59b5eb49edb45961a2790bf81a.zip gcc-98e20ffd24f21f59b5eb49edb45961a2790bf81a.tar.gz gcc-98e20ffd24f21f59b5eb49edb45961a2790bf81a.tar.bz2 |
(udivsi3_sh2a...
(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
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/sh/sh.md | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d666e25..63d96c1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/sh/sh.md b/gcc/config/sh/sh.md index ce4da84..b725822 100644 --- a/gcc/config/sh/sh.md +++ b/gcc/config/sh/sh.md @@ -1164,7 +1164,8 @@ (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 @@ -1348,7 +1349,8 @@ (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") |