re PR target/22068 (Multiply-immediate opportunity)

PR target/22068
        * config/rs6000/rs6000.md (muldi3): Add mulli alternative.

From-SVN: r104255
This commit is contained in:
David Edelsohn 2005-09-14 01:12:43 +00:00 committed by David Edelsohn
parent 68a2828871
commit c969253262
2 changed files with 17 additions and 5 deletions

View File

@ -1,3 +1,8 @@
2005-09-14 David Edelsohn <edelsohn@gnu.org>
PR target/22068
* config/rs6000/rs6000.md (muldi3): Add mulli alternative.
2005-09-14 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Treat function name

View File

@ -5825,12 +5825,19 @@
"")
(define_insn "muldi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r")
(mult:DI (match_operand:DI 1 "gpc_reg_operand" "%r")
(match_operand:DI 2 "gpc_reg_operand" "r")))]
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(mult:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r")
(match_operand:DI 2 "reg_or_short_operand" "r,I")))]
"TARGET_POWERPC64"
"mulld %0,%1,%2"
[(set_attr "type" "lmul")])
"@
mulld %0,%1,%2
mulli %0,%1,%2"
[(set (attr "type")
(cond [(match_operand:SI 2 "s8bit_cint_operand" "")
(const_string "imul3")
(match_operand:SI 2 "short_cint_operand" "")
(const_string "imul2")]
(const_string "lmul")))])
(define_insn "*muldi3_internal1"
[(set (match_operand:CC 0 "cc_reg_operand" "=x,?y")