aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1993-03-30 15:02:05 -0700
committerJeff Law <law@gcc.gnu.org>1993-03-30 15:02:05 -0700
commit751a3523c01646369c3de6cca1cb5590deb5d266 (patch)
treea88f5523f982dbac1334b78c47fd56a685640a46 /gcc
parent574c75a3b4ce0f087201efb26f893df20ac3a887 (diff)
downloadgcc-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')
-rw-r--r--gcc/config/pa/pa.md20
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")])