gcc/libgcc/config/rl78
Nick Clifton 72ed112686 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
2015-04-16 07:57:56 +00:00
..
bit-count.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
cmpsi2.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
divmodhi.S rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT. 2015-04-16 07:57:56 +00:00
divmodqi.S Update copyright years. 2015-01-05 13:33:28 +01:00
divmodsi.S rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and MUL_UNINIT. 2015-04-16 07:57:56 +00:00
fpbit-sf.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
fpmath-sf.S fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case rounding up the fraction. 2015-02-04 16:39:16 +00:00
lib2div.c Update copyright years. 2015-01-05 13:33:28 +01:00
lib2mul.c Update copyright years. 2015-01-05 13:33:28 +01:00
lib2shift.c Update copyright years. 2015-01-05 13:33:28 +01:00
lshrsi3.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
mulsi3.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
rl78-divmod.h Update copyright years. 2015-01-05 13:33:28 +01:00
rl78-mul.h Update copyright years. 2015-01-05 13:33:28 +01:00
signbit.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
t-rl78 cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
trampoline.S cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00
vregs.h cmpsi2.S: Use function start and end macros. 2015-01-27 11:36:01 +00:00