aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-09-05 03:22:36 +0000
committerRichard Stallman <rms@gnu.org>1992-09-05 03:22:36 +0000
commit8f0cc7f0c03d9583e9371de9db8ed2c48a84d68f (patch)
tree73d2ba5bb03f49af69c2a5c222f92c09b963525c /gcc
parentdac45ea36e2d1e5997848ef0e39976a04ea85153 (diff)
downloadgcc-8f0cc7f0c03d9583e9371de9db8ed2c48a84d68f.zip
gcc-8f0cc7f0c03d9583e9371de9db8ed2c48a84d68f.tar.gz
gcc-8f0cc7f0c03d9583e9371de9db8ed2c48a84d68f.tar.bz2
(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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i860/i860.md15
1 files changed, 11 insertions, 4 deletions
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)