aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2014-08-14 22:30:22 -0400
committerDJ Delorie <dj@gcc.gnu.org>2014-08-14 22:30:22 -0400
commite33a3cf354873030276965a49eb98e97f88ec90b (patch)
tree141c9fea512787662f761a4d7e3c61612723b604 /gcc
parent54bfc99b90e5986afbc2577964258265ea70e38d (diff)
downloadgcc-e33a3cf354873030276965a49eb98e97f88ec90b.zip
gcc-e33a3cf354873030276965a49eb98e97f88ec90b.tar.gz
gcc-e33a3cf354873030276965a49eb98e97f88ec90b.tar.bz2
rl78-expand.md (umulqihi3): Disable for G10.
* config/rl78/rl78-expand.md (umulqihi3): Disable for G10. * config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise. (umulqihi3_virt): Likewise. * config/rl78/rl78-real.md (umulhi3_shift_real): Likewise. (umulqihi3_real): Likewise. From-SVN: r213996
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-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, 11 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e5931f6..88196b2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2014-08-14 DJ Delorie <dj@redhat.com>
+ * config/rl78/rl78-expand.md (umulqihi3): Disable for G10.
+ * config/rl78/rl78-virt.md (umulhi3_shift_virt): Likewise.
+ (umulqihi3_virt): Likewise.
+ * config/rl78/rl78-real.md (umulhi3_shift_real): Likewise.
+ (umulqihi3_real): Likewise.
+
* config/rl78/rl78-virt.md (movhi_virt): Allow const->far moves.
2014-08-14 Jan Hubicka <hubicka@ucw.cz>
diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md
index f61e444..1fc70a9 100644
--- a/gcc/config/rl78/rl78-expand.md
+++ b/gcc/config/rl78/rl78-expand.md
@@ -145,7 +145,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 27ff60f..326e703 100644
--- a/gcc/config/rl78/rl78-real.md
+++ b/gcc/config/rl78/rl78-real.md
@@ -157,7 +157,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 ()"
+ "rl78_real_insns_ok () && !TARGET_G10"
"@
shlw\t%0, 1
shlw\t%0, 2"
@@ -167,7 +167,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 ()"
+ "rl78_real_insns_ok () && !TARGET_G10"
"mulu\t%2"
)
diff --git a/gcc/config/rl78/rl78-virt.md b/gcc/config/rl78/rl78-virt.md
index 6f633d3..39488af 100644
--- a/gcc/config/rl78/rl78-virt.md
+++ b/gcc/config/rl78/rl78-virt.md
@@ -91,7 +91,7 @@
[(set (match_operand:HI 0 "register_operand" "=vm")
(mult:HI (match_operand:HI 1 "rl78_nonfar_operand" "%vim")
(match_operand:HI 2 "rl78_24_operand" "Ni")))]
- "rl78_virt_insns_ok ()"
+ "rl78_virt_insns_ok () && !TARGET_G10"
"v.mulu\t%0, %1, %2"
[(set_attr "valloc" "umul")]
)
@@ -100,7 +100,7 @@
[(set (match_operand:HI 0 "register_operand" "=vm")
(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 ()"
+ "rl78_virt_insns_ok () && !TARGET_G10"
"v.mulu\t%0, %2"
[(set_attr "valloc" "umul")]
)