summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2016-06-17 22:24:17 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2016-06-17 22:24:17 +0000
commitf8c5fcefe1b614c6f5c61ab98fbbebbbd96c30a5 (patch)
treea04e182b825f5e737204205981327cf7546dc7e7
parenta39f2fb2d122ba108a497b2bb3ce204b9121054b (diff)
downloadgcc-f8c5fcefe1b614c6f5c61ab98fbbebbbd96c30a5.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237566 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config/rl78/rl78-expand.md2
-rw-r--r--gcc/config/rl78/rl78-real.md4
-rw-r--r--gcc/config/rl78/rl78-virt.md4
4 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 42850c61b44..d493884eb5d 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md
index 331eec1e902..4fd195865a4 100644
--- a/gcc/config/rl78/rl78-expand.md
+++ b/gcc/config/rl78/rl78-expand.md
@@ -159,7 +159,7 @@
[(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"
+ ""
""
)
diff --git a/gcc/config/rl78/rl78-real.md b/gcc/config/rl78/rl78-real.md
index aacaefff9e8..530b2fe90f9 100644
--- a/gcc/config/rl78/rl78-real.md
+++ b/gcc/config/rl78/rl78-real.md
@@ -179,7 +179,7 @@
[(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"
@@ -189,7 +189,7 @@
[(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"
)
diff --git a/gcc/config/rl78/rl78-virt.md b/gcc/config/rl78/rl78-virt.md
index e2e7f4750e2..8d1b2a8731c 100644
--- a/gcc/config/rl78/rl78-virt.md
+++ b/gcc/config/rl78/rl78-virt.md
@@ -116,7 +116,7 @@
[(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")]
)
@@ -125,7 +125,7 @@
[(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")]
)