diff options
author | Jeff Law <law@gcc.gnu.org> | 1993-03-30 15:02:05 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1993-03-30 15:02:05 -0700 |
commit | 751a3523c01646369c3de6cca1cb5590deb5d266 (patch) | |
tree | a88f5523f982dbac1334b78c47fd56a685640a46 /gcc/config/pa/pa.md | |
parent | 574c75a3b4ce0f087201efb26f893df20ac3a887 (diff) | |
download | gcc-751a3523c01646369c3de6cca1cb5590deb5d266.zip gcc-751a3523c01646369c3de6cca1cb5590deb5d266.tar.gz gcc-751a3523c01646369c3de6cca1cb5590deb5d266.tar.bz2 |
* Jeff for Tege.
* pa.md (sminsi3, smaxsi3): Fix bug in last change.
From-SVN: r3932
Diffstat (limited to 'gcc/config/pa/pa.md')
-rw-r--r-- | gcc/config/pa/pa.md | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/gcc/config/pa/pa.md b/gcc/config/pa/pa.md index 1c4b9b5..4a7d78b 100644 --- a/gcc/config/pa/pa.md +++ b/gcc/config/pa/pa.md @@ -480,16 +480,18 @@ [(set_attr "type" "binary,binary") (set_attr "length" "2,3")]) -;; Signed/Unsigned minimum and maximum patterns. +; Patterns for max and min. (There is no need for an earlyclobber in the +; last alternative since the middle alternative will match if op0 == op1.) + (define_insn "sminsi3" [(set (match_operand:SI 0 "register_operand" "=r,r,r") - (smin:SI (match_operand:SI 1 "register_operand" "%r,0,0") - (match_operand:SI 2 "arith11_operand" "M,r,I")))] + (smin:SI (match_operand:SI 1 "register_operand" "%0,0,r") + (match_operand:SI 2 "arith11_operand" "r,I,M")))] "" "@ - comclr,> %1,%2,%0\;copy %1,%0 comclr,> %2,%0,0\;copy %2,%0 - comiclr,> %2,%0,0\;ldi %2,%0" + comiclr,> %2,%0,0\;ldi %2,%0 + comclr,> %1,%2,%0\;copy %1,%0" [(set_attr "type" "multi,multi,multi") (set_attr "length" "2,2,2")]) @@ -506,13 +508,13 @@ (define_insn "smaxsi3" [(set (match_operand:SI 0 "register_operand" "=r,r,r") - (smax:SI (match_operand:SI 1 "register_operand" "%r,0,0") - (match_operand:SI 2 "arith11_operand" "M,r,I")))] + (smax:SI (match_operand:SI 1 "register_operand" "%0,0,r") + (match_operand:SI 2 "arith11_operand" "r,I,M")))] "" "@ - comclr,< %1,%2,%0\;copy %1,%0 comclr,< %2,%0,0\;copy %2,%0 - comiclr,< %2,%0,0\;ldi %2,%0" + comiclr,< %2,%0,0\;ldi %2,%0 + comclr,< %1,%2,%0\;copy %1,%0" [(set_attr "type" "multi,multi,multi") (set_attr "length" "2,2,2")]) |