This is the mail archive of the
mailing list for the GCC project.
Re: [Patch,avr]: Speed up 64-bit shifts in libgcc
- From: Denis Chertykov <chertykov at gmail dot com>
- To: Georg-Johann Lay <avr at gjlay dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, Eric Weddington <eric dot weddington at atmel dot com>
- Date: Mon, 4 Mar 2013 15:45:37 +0400
- Subject: Re: [Patch,avr]: Speed up 64-bit shifts in libgcc
- References: <513488C3.firstname.lastname@example.org>
2013/3/4 Georg-Johann Lay <email@example.com>:
> 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?
> * config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)
> (__rotldi3): Shift bytewise if applicable.