aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rl78
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2016-06-17 18:24:17 -0400
committerDJ Delorie <dj@gcc.gnu.org>2016-06-17 18:24:17 -0400
commit382e7faa3f0d4dfe8fc765ec08a256c60e21864f (patch)
treea04e182b825f5e737204205981327cf7546dc7e7 /gcc/config/rl78
parent8559b90fc164ff07436971c520db20cb475c9944 (diff)
downloadgcc-382e7faa3f0d4dfe8fc765ec08a256c60e21864f.zip
gcc-382e7faa3f0d4dfe8fc765ec08a256c60e21864f.tar.gz
gcc-382e7faa3f0d4dfe8fc765ec08a256c60e21864f.tar.bz2
re PR target/71338 ([RL78] mulu instruction not used on G10)
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
Diffstat (limited to 'gcc/config/rl78')
-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
3 files changed, 5 insertions, 5 deletions
diff --git a/gcc/config/rl78/rl78-expand.md b/gcc/config/rl78/rl78-expand.md
index 331eec1..4fd1958 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 aacaeff..530b2fe 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 e2e7f47..8d1b2a8 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")]
)