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]

Re: [Patch,avr]: Speed up 64-bit shifts in libgcc


2013/3/4 Georg-Johann Lay <avr@gjlay.de>:
> This patch fixed the speed of 64-bit shifts and rotate.
>
> These operations were implemented by bit-wise shifts and thus the speed is not
> reasonable for such basic arithmetic.
>
> The new implementation first shifts byte-wise and only the remaining mod 8 is
> shifted bit-wise.
>
> The new methods needs few more instructions, but 64-bit arithmetic needs much
> code, anyway...  But base arithmetic should operate reasonably fast and not
> take 600 or mote ticks for a simple shift.
>
> Ok for trunk?
>
> Johann
>
>
>         * config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)
>         (__rotldi3): Shift bytewise if applicable.
>

Approved.

Denis.


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