From b2d3f886f51d4d62f5c5321b3fa00e5d4f7a28df Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Tue, 30 Jul 2013 15:54:30 +0000 Subject: [PATCH] * arm.md (mulhi3): New expand pattern. From-SVN: r201341 --- gcc/ChangeLog | 4 ++++ gcc/config/arm/arm.md | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b99e074..e6550fd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-07-30 Richard Earnshaw + + * arm.md (mulhi3): New expand pattern. + 2013-07-30 Jan Hubicka Martin Liska diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md index fceb04c..0aa8aca 100644 --- a/gcc/config/arm/arm.md +++ b/gcc/config/arm/arm.md @@ -1725,6 +1725,20 @@ ;; Multiplication insns +(define_expand "mulhi3" + [(set (match_operand:HI 0 "s_register_operand" "") + (mult:HI (match_operand:HI 1 "s_register_operand" "") + (match_operand:HI 2 "s_register_operand" "")))] + "TARGET_DSP_MULTIPLY" + " + { + rtx result = gen_reg_rtx (SImode); + emit_insn (gen_mulhisi3 (result, operands[1], operands[2])); + emit_move_insn (operands[0], gen_lowpart (HImode, result)); + DONE; + }" +) + (define_expand "mulsi3" [(set (match_operand:SI 0 "s_register_operand" "") (mult:SI (match_operand:SI 2 "s_register_operand" "") -- 2.7.4