re PR target/66956 ([avr] Using 32*32=64 multiplicatiion (umulsidi3) for 32=32*32...
authorGeorg-Johann Lay <avr@gjlay.de>
Tue, 21 Jul 2015 17:25:48 +0000 (17:25 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Tue, 21 Jul 2015 17:25:48 +0000 (17:25 +0000)
PR target/66956
* config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
(<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.

From-SVN: r226046

gcc/ChangeLog
gcc/config/avr/avr-dimode.md

index fa9d3ef40e8beefe4f221aa977b944dc384ef499..8e25b9a0640575306ff90b5ca9aa3e2a947b0345 100644 (file)
@@ -1,3 +1,9 @@
+2015-07-21  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/66956
+       * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
+       (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
+
 2015-07-21  Richard Biener  <rguenther@suse.de>
 
        PR tree-optimization/66948
index 1243360eedb38c3e7eb8b03cf93e7b41efcd78d2..a1cd6d91c6dcd031d2dab9292bbd73e4bfead48c 100644 (file)
               (match_operand:SI 2 "general_operand" "")
               ;; Just to mention the iterator 
               (clobber (any_extend:SI (match_dup 1)))])]
-  "avr_have_dimode"
+  "avr_have_dimode
+   && AVR_HAVE_MUL"
   {
     avr_fix_inputs (operands, 1 << 2, regmask (SImode, 22));
     emit_move_insn (gen_rtx_REG (SImode, 22), operands[1]);
                  (any_extend:DI (reg:SI 22))))
    (clobber (reg:HI REG_X))
    (clobber (reg:HI REG_Z))]
-  "avr_have_dimode"
+  "avr_have_dimode
+   && AVR_HAVE_MUL"
   "%~call __<extend_u>mulsidi3"
   [(set_attr "adjust_len" "call")
    (set_attr "cc" "clobber")])