re PR target/71338 ([RL78] mulu instruction not used on G10)
authorDJ Delorie <dj@redhat.com>
Fri, 17 Jun 2016 22:24:17 +0000 (18:24 -0400)
committerDJ Delorie <dj@gcc.gnu.org>
Fri, 17 Jun 2016 22:24:17 +0000 (18:24 -0400)
PR target/71338
* config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
* config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
(umulqihi3_virt): Likewise.
* config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
(umulqihi3_real): Likewise.

From-SVN: r237566

gcc/ChangeLog
gcc/config/rl78/rl78-expand.md
gcc/config/rl78/rl78-real.md
gcc/config/rl78/rl78-virt.md

index 42850c61b44d4beb71d33e6d5b310dfa01f0028a..d493884eb5d01df07df9576ab06abc4f2a7e4b4c 100644 (file)
@@ -1,3 +1,12 @@
+2016-06-17  DJ Delorie  <dj@redhat.com>
+
+       PR target/71338
+       * config/rl78/rl78-expand.c (umulqihi3): Enable for G10.
+       * config/rl78/rl78-virtual.c (umulhi3_shift_virt): Likewise.
+       (umulqihi3_virt): Likewise.
+       * config/rl78/rl78-real.c (umulhi3_shift_real): Likewise.
+       (umulqihi3_real): Likewise.
+
 2016-06-17  Martin Liska  <mliska@suse.cz>
 
        * tree-ssa-reassoc.c (transform_add_to_multiply): Use auto_vec.
index 331eec1e9024a3b1025708212466ae6f8ddf1756..4fd195865a4b642775fef852da6349ae762b0f4a 100644 (file)
   [(set (match_operand:HI 0 "register_operand")
         (mult:HI (zero_extend:HI (match_operand:QI 1 "register_operand"))
                  (zero_extend:HI (match_operand:QI 2 "register_operand"))))]
-  "!TARGET_G10"
+  ""
   ""
 )
 
index aacaefff9e83bbbac671dde4f41bcaaac8cb02c1..530b2fe90f9fd852b42e988e9a296c85473d8dc5 100644 (file)
   [(set (match_operand:HI 0 "register_operand" "=A,A")
         (mult:HI (match_operand:HI 1 "rl78_nonfar_operand" "0,0")
                  (match_operand:HI 2 "rl78_24_operand" "N,i")))]
-  "rl78_real_insns_ok () && !TARGET_G10"
+  "rl78_real_insns_ok ()"
   "@
    shlw\t%0, 1
    shlw\t%0, 2"
   [(set (match_operand:HI 0 "nonimmediate_operand" "=A")
         (mult:HI (zero_extend:HI (match_operand:QI 1 "general_operand" "%a"))
                  (zero_extend:HI (match_operand:QI 2 "general_operand" "x"))))]
-  "rl78_real_insns_ok () && !TARGET_G10"
+  "rl78_real_insns_ok ()"
   "mulu\t%2"
 )
 
index e2e7f4750e2bf5e94fcbced48b063035b3fa89b1..8d1b2a8731cbebbf8a1d655ade64c16dbd13a06d 100644 (file)
   [(set (match_operand:HI          0 "register_operand" "=v")
         (mult:HI (match_operand:HI 1 "rl78_nonfar_operand" "%vim")
                  (match_operand:HI 2 "rl78_24_operand" "Ni")))]
-  "rl78_virt_insns_ok () && !TARGET_G10"
+  "rl78_virt_insns_ok ()"
   "v.mulu\t%0, %1, %2"
   [(set_attr "valloc" "umul")]
 )
   [(set (match_operand:HI                          0 "register_operand" "=v")
         (mult:HI (zero_extend:HI (match_operand:QI 1 "rl78_nonfar_operand" "%vim"))
                  (zero_extend:HI (match_operand:QI 2 "general_operand" "vim"))))]
-  "rl78_virt_insns_ok () && !TARGET_G10"
+  "rl78_virt_insns_ok ()"
   "v.mulu\t%0, %2"
   [(set_attr "valloc" "umul")]
 )