This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Patch,avr] Remove fixed-point MUL and DIV routines from libgcc build


This removes modules from libgcc that are already supported by avr-specific
fixed-point implementation and avoids duplicate functions like __mulsa3.

Ok for trunk?

Johann


libgcc/
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:
	_mulQQ,  _mulHQ,  _mulHA,  _mulSA,
	_mulUQQ, _mulUHQ, _mulUHA, _mulUSA,
	_divQQ,  _divHQ,  _divHA,  _divSA,
	_divUQQ, _divUHQ, _divUHA, _divUSA.
Index: config/avr/t-avr
===================================================================
--- config/avr/t-avr	(revision 195301)
+++ config/avr/t-avr	(working copy)
@@ -164,3 +164,17 @@ LIB2FUNCS_EXCLUDE += \
 LIB2FUNCS_EXCLUDE += \
 	$(foreach func,_usadd _ussub _usneg,\
 	$(foreach mode,$(usat_modes),$(func_X)))
+
+
+smul_modes =  QQ  HQ  HA  SA
+umul_modes = UQQ UHQ UHA USA
+sdiv_modes =  QQ  HQ  HA  SA
+udiv_modes = UQQ UHQ UHA USA
+
+LIB2FUNCS_EXCLUDE += \
+	$(foreach func,_mul,\
+	$(foreach mode,$(smul_modes) $(umul_modes),$(func_X)))
+
+LIB2FUNCS_EXCLUDE += \
+	$(foreach func,_div,\
+	$(foreach mode,$(sdiv_modes) $(udiv_modes),$(func_X)))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]