aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rl78/t-rl78
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2015-04-16 07:57:56 +0000
committerNick Clifton <nickc@gcc.gnu.org>2015-04-16 07:57:56 +0000
commit72ed1126861875a4fae0d75f994e35f1b79509bd (patch)
tree6058a55ad9abb695d0a8f4a9b314ab329d819ebc /gcc/config/rl78/t-rl78
parent8a474dc5d7d152653e90e960eff1852d1c7ff914 (diff)
downloadgcc-72ed1126861875a4fae0d75f994e35f1b79509bd.zip
gcc-72ed1126861875a4fae0d75f994e35f1b79509bd.tar.gz
gcc-72ed1126861875a4fae0d75f994e35f1b79509bd.tar.bz2
rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT.
* config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT. (enum rl78_cpu_type): New. * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi. (umulhi3_shift_virt): Remove m constraint from operand 1. (umulqihi3_virt): Likewise. * config/rl78/rl78.c (rl78_option_override): Add code to process -mcpu and -mmul options. (rl78_alloc_physical_registers): Add code to handle divhi and divsi valloc attributes. (set_origin): Likewise. * config/rl78/rl78.h (RL78_MUL_G14): Define. (TARGET_G10, TARGET_G13, TARGET_G14): Define. (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and __RL78_Gxx__. (ASM_SPEC): Pass -mcpu on to assembler. * config/rl78/rl78.md (mulqi3): Add a clobber of AX. (mulqi3_rl78): Likewise. (mulhi3_g13): Likewise. (mulhi3): Generate the G13 or G14 versions of the insn directly. (mulsi3): Likewise. (mulhi3_g14): Add clobbers of AX and BC. (mulsi3_g14): Likewise. (mulsi3_g13): Likewise. (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns. (udivmodsi4_g14, udivmodsi4_g13): New patterns. * config/rl78/rl78.opt (mmul): Initialise value to RL78_MUL_UNINIT. (mcpu): New option. (m13, m14, mrl78): New option aliases. * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14. (MULTILIB_DIRNAMES): Add g13 and g14. * doc/invoke.texi: Document -mcpu and -mmul options. * config/rl78/divmodhi.S: Add G14 and G13 versions of the __divhi3 and __modhi3 functions. * config/rl78/divmodso.S: Add G14 and G13 versions of the __divsi3, __udivsi3, __modsi3 and __umodsi3 functions. From-SVN: r222142
Diffstat (limited to 'gcc/config/rl78/t-rl78')
-rw-r--r--gcc/config/rl78/t-rl786
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/rl78/t-rl78 b/gcc/config/rl78/t-rl78
index 2628855..bd8fab4 100644
--- a/gcc/config/rl78/t-rl78
+++ b/gcc/config/rl78/t-rl78
@@ -23,5 +23,7 @@ rl78-c.o: $(srcdir)/config/rl78/rl78-c.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_H)
# Enable multilibs:
-MULTILIB_OPTIONS = mg10
-MULTILIB_DIRNAMES = g10
+MULTILIB_OPTIONS = mg10/mg13/mg14
+MULTILIB_DIRNAMES = g10 g13 g14
+
+MULTILIB_MATCHES = mg10=mcpu?g10 mg13=mcpu?g13 mg14=mcpu?g14 mg14=mcpu?rl78