diff options
author | DJ Delorie <dj@redhat.com> | 2014-08-14 22:30:22 -0400 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2014-08-14 22:30:22 -0400 |
commit | e33a3cf354873030276965a49eb98e97f88ec90b (patch) | |
tree | 141c9fea512787662f761a4d7e3c61612723b604 /gcc | |
parent | 54bfc99b90e5986afbc2577964258265ea70e38d (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rl78/rl78-expand.md | 2 | ||||
-rw-r--r-- | gcc/config/rl78/rl78-real.md | 4 | ||||
-rw-r--r-- | gcc/config/rl78/rl78-virt.md | 4 |
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")] ) |