• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Operating System/Drivers
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Unhelpful - 2010-01-30
Last edited by Unhelpful - 2010-02-01

FS#10943 - Optimized replacements for libgcc dividers, clz on ARM.

This patch aims to replace libgcc’s signed and unsigned 32-bit division functions on ARM with faster (and on ARMv5+, also smaller) functions. CLZ is also replaced on ARMv4. Binsize increases about 300B on ARMv4, decreases about 600B on ARMv5+. Deltas will be better with EABI, which uses a div and a divmod support funtion, as divmod performs well enough for div to be aliased to it. The functions are included in libfirmware, libplugin, and libcodec, causing them to replace libgcc functions. As the new divider is the same as the one used by the APE codec on ARMv5+, APE no longer uses a specialized divider on these targets unless iram is used.

Closed by  Unhelpful
2010-02-01 01:37
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed as r24432.


Available keyboard shortcuts


Task Details

Task Editing