diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2013-07-30 15:54:30 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2013-07-30 15:54:30 +0000 |
commit | b2d3f886f51d4d62f5c5321b3fa00e5d4f7a28df (patch) | |
tree | 64ccb73c51a395f430eee4648880b85203902c6d | |
parent | b6d846de2be1df6fe282b0b4094ec9cdb9268d88 (diff) | |
download | gcc-b2d3f886f51d4d62f5c5321b3fa00e5d4f7a28df.zip gcc-b2d3f886f51d4d62f5c5321b3fa00e5d4f7a28df.tar.gz gcc-b2d3f886f51d4d62f5c5321b3fa00e5d4f7a28df.tar.bz2 |
* arm.md (mulhi3): New expand pattern.
From-SVN: r201341
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/arm/arm.md | 14 |
2 files changed, 18 insertions, 0 deletions
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 <rearnsha@arm.com> + + * arm.md (mulhi3): New expand pattern. + 2013-07-30 Jan Hubicka <jh@suse.cz> Martin Liska <marxin.liska@gmail.com> 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" "") |