This is the mail archive of the newlib@sourceware.org mailing list for the newlib 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] |
Hi DJ, Thanks for your prompt review. >> + bz $_bss_zero_done >> + br $1b >> >> +_bss_zero_done: >Any reason to not do this? > > bnz $1b >_bss_zero_done: Yes, that should make it more compact, I should have thought of that earlier. Please find below an updated patch. This is regression tested and will also reduce code size by 2 bytes as compared to the earlier version. Best Regards, Kaushik p.s. Kindly ignore any disclaimers at end of this e-mail as they are auto-inserted. 2015-10-15 Kaushik Phatak <kaushik.phatak@kpit.com> * rl78/crt0.S (_start): Fixed code that clears .bss =================================================================== --- libgloss/rl78/crt0.S (revision 2805) +++ libgloss/rl78/crt0.S (working copy) @@ -176,17 +176,19 @@ ;; block fill to .bss - movw bc, #__bsssize - movw ax, #0 -1: - cmpw ax, bc - bz $1f - movw __bssstart[bc], ax - decw bc - decw bc - br $1b -1: + movw bc, #__bsssize + movw ax, #0 + cmpw ax, bc + bz $_bss_zero_done +1: + decw bc + decw bc + movw __bssstart[bc], ax + cmpw ax, bc + bnz $1b +_bss_zero_done: + call !!__rl78_init #ifdef PROFILE_SUPPORT /* Defined in gcrt0.S. */
Attachment:
rl78_crt02.diff
Description: rl78_crt02.diff
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |