diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-01-26 15:22:13 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-01-26 15:22:13 -0800 |
commit | 9116497e24cabce51f2070bf8e754e63263c3965 (patch) | |
tree | 0e543d04c30dea68e6d8df6518e6dd3e48bccdd0 /gcc/config/i960 | |
parent | 590d6f8e984fb41ce493f959c5344534f61aa4e8 (diff) | |
download | gcc-9116497e24cabce51f2070bf8e754e63263c3965.zip gcc-9116497e24cabce51f2070bf8e754e63263c3965.tar.gz gcc-9116497e24cabce51f2070bf8e754e63263c3965.tar.bz2 |
(umulsidi3+1): Add variant which accepts constants.
From-SVN: r3353
Diffstat (limited to 'gcc/config/i960')
-rw-r--r-- | gcc/config/i960/i960.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/i960/i960.md b/gcc/config/i960/i960.md index 8a42206..33c5d95 100644 --- a/gcc/config/i960/i960.md +++ b/gcc/config/i960/i960.md @@ -1494,6 +1494,19 @@ }" [(set_attr "type" "mult")]) +(define_insn "" + [(set (match_operand:DI 0 "register_operand" "=d") + (mult:DI (zero_extend:DI (match_operand:SI 1 "register_operand" "%d")) + (match_operand:SI 2 "literal" "I"))))] + "" + "* +{ + if (i960_bypass (insn, operands[1], operands[2], 0)) + return \"emul %2,%1,%0\"; + return \"emul %1,%2,%0\"; +}" + [(set_attr "type" "mult")]) + ;; This goes after the move/add/sub/mul instructions ;; because those instructions are better when they apply. |