From 8f0cc7f0c03d9583e9371de9db8ed2c48a84d68f Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Sat, 5 Sep 1992 03:22:36 +0000 Subject: (mulsi3_big): Use low half of result. Use offset 1 in subregs in actual fmlow insn. (fmlow pattern): Split this into alternatives for big and little end. From-SVN: r2055 --- gcc/config/i860/i860.md | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'gcc') diff --git a/gcc/config/i860/i860.md b/gcc/config/i860/i860.md index 46de393..86d166a 100644 --- a/gcc/config/i860/i860.md +++ b/gcc/config/i860/i860.md @@ -1725,9 +1725,9 @@ [(set (subreg:SI (match_dup 4) 1) (match_operand:SI 1 "general_operand" "")) (set (subreg:SI (match_dup 5) 1) (match_operand:SI 2 "general_operand" "")) (clobber (match_dup 3)) - (set (subreg:SI (match_dup 3) 0) - (mult:SI (subreg:SI (match_dup 4) 0) (subreg:SI (match_dup 5) 0))) - (set (match_operand:SI 0 "register_operand" "") (subreg:SI (match_dup 3) 0))] + (set (subreg:SI (match_dup 3) 1) + (mult:SI (subreg:SI (match_dup 4) 1) (subreg:SI (match_dup 5) 1))) + (set (match_operand:SI 0 "register_operand" "") (subreg:SI (match_dup 3) 1))] "WORDS_BIG_ENDIAN" " { @@ -1740,7 +1740,14 @@ [(set (subreg:SI (match_operand:DI 0 "register_operand" "=f") 0) (mult:SI (subreg:SI (match_operand:DI 1 "register_operand" "f") 0) (subreg:SI (match_operand:DI 2 "register_operand" "f") 0)))] - "" + "! WORDS_BIG_ENDIAN" + "fmlow.dd %2,%1,%0") + +(define_insn "" + [(set (subreg:SI (match_operand:DI 0 "register_operand" "=f") 1) + (mult:SI (subreg:SI (match_operand:DI 1 "register_operand" "f") 1) + (subreg:SI (match_operand:DI 2 "register_operand" "f") 1)))] + "WORDS_BIG_ENDIAN" "fmlow.dd %2,%1,%0") ;;- and instructions (with compliment also) -- cgit v1.1