public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot-Users] Eliminate calls of _divsi3 on ARM
@ 2005-04-26 13:09 Anders Larsen
  2005-04-26 14:08 ` Wolfgang Denk
  2005-08-12 20:36 ` Wolfgang Denk
  0 siblings, 2 replies; 5+ messages in thread
From: Anders Larsen @ 2005-04-26 13:09 UTC (permalink / raw)
  To: u-boot

Hi,

the enclosed patch agains current top of CVS eliminates two calls of the
libgcc helper function _divsi3 and _modsi3.

Rationale:
Certain commercially available tool-chains provides b0rken libgcc.a
(compiled with hardware FP) making these helper functions unusable
(U-Boot already provides the unsigned counterparts in lib_arm/libarm.a).

Changelog:
  Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3

Cheers
 Anders

-------------- next part --------------
A non-text attachment was scrubbed...
Name: divsi3.diff
Type: application/octet-stream
Size: 1099 bytes
Desc: not available
Url : http://lists.denx.de/pipermail/u-boot/attachments/20050426/68db4c94/attachment.obj 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Eliminate calls of _divsi3 on ARM
  2005-04-26 13:09 [U-Boot-Users] Eliminate calls of _divsi3 on ARM Anders Larsen
@ 2005-04-26 14:08 ` Wolfgang Denk
  2005-04-26 14:19   ` Anders Larsen
  2005-08-12 20:36 ` Wolfgang Denk
  1 sibling, 1 reply; 5+ messages in thread
From: Wolfgang Denk @ 2005-04-26 14:08 UTC (permalink / raw)
  To: u-boot

In message <fc.004c4e480031a732004c4e480031a732.31a781@rea.de> you wrote:
> 
> the enclosed patch agains current top of CVS eliminates two calls of the
> libgcc helper function _divsi3 and _modsi3.
> 
> Rationale:
> Certain commercially available tool-chains provides b0rken libgcc.a
> (compiled with hardware FP) making these helper functions unusable

Don't use these tool-chains, then. There are free and working
solutions.

...
-		i -= (i % info->portwidth);
+		i -= i & (info->portwidth - 1);
...
-		*cp++ = ((i + 1) % info->chipwidth) ? '\0' : cmd;
+		*cp++ = ((i + 1) & (info->chipwidth - 1)) ? '\0' : cmd;

Should we  document  the  restrictions  (i.  e.  that  portwidth  and
chipwidth have to be powers of two) ?

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Imagination is more important than knowledge.      -- Albert Einstein

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Eliminate calls of _divsi3 on ARM
  2005-04-26 14:08 ` Wolfgang Denk
@ 2005-04-26 14:19   ` Anders Larsen
  2005-04-27 11:20     ` Udi Finkelstein
  0 siblings, 1 reply; 5+ messages in thread
From: Anders Larsen @ 2005-04-26 14:19 UTC (permalink / raw)
  To: u-boot

Wolfgang Denk <wd@denx.de> schreibt:
>Don't use these tool-chains, then. There are free and working
>solutions.

Well,
in a large organization one does not always have the choice   :-/
>
>Should we  document  the  restrictions  (i.  e.  that  portwidth  and
>chipwidth have to be powers of two) ?

You're probably right (although I have yet to see a chip with a bus
width not an integer multiple of 8).

Cheers
 Anders

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Eliminate calls of _divsi3 on ARM
  2005-04-26 14:19   ` Anders Larsen
@ 2005-04-27 11:20     ` Udi Finkelstein
  0 siblings, 0 replies; 5+ messages in thread
From: Udi Finkelstein @ 2005-04-27 11:20 UTC (permalink / raw)
  To: u-boot

Anders Larsen wrote:
> Wolfgang Denk <wd@denx.de> schreibt:

>>Should we  document  the  restrictions  (i.  e.  that  portwidth  and
>>chipwidth have to be powers of two) ?
> 
> 
> You're probably right (although I have yet to see a chip with a bus
> width not an integer multiple of 8).
You mean a power-of-two multiple of 8.

> 
> Cheers
>  Anders

Udi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot-Users] Eliminate calls of _divsi3 on ARM
  2005-04-26 13:09 [U-Boot-Users] Eliminate calls of _divsi3 on ARM Anders Larsen
  2005-04-26 14:08 ` Wolfgang Denk
@ 2005-08-12 20:36 ` Wolfgang Denk
  1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2005-08-12 20:36 UTC (permalink / raw)
  To: u-boot

In message <fc.004c4e480031a732004c4e480031a732.31a781@rea.de> you wrote:
> 
> Changelog:
>   Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3

Added, thanks.

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"You'll pay to know what you really think."        - J.R. "Bob" Dobbs

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-08-12 20:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-26 13:09 [U-Boot-Users] Eliminate calls of _divsi3 on ARM Anders Larsen
2005-04-26 14:08 ` Wolfgang Denk
2005-04-26 14:19   ` Anders Larsen
2005-04-27 11:20     ` Udi Finkelstein
2005-08-12 20:36 ` Wolfgang Denk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox