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 ARM] Fix bswap patterns for ARM / Thumb and Thumb2.


On Mon, 2010-01-25 at 11:29 +0000, Ramana Radhakrishnan wrote:
> Hi, 
> 
> This patch by Stephen Thomas is useful in fixing code generation for
> bswap instructions on the ARM port. As a result, bswap64 reduces to 3
> instructions rather than 91 for v7-a ! 
> 
> This supports use of the rev instructions on architectures that support
> it (v6 onwards) and uses a smaller instruction sequence than what is
> generated by default on v5te cores for ARM as well as Thumb1 when not
> optimizing for size. It generates a libcall to bswapsi2 when optimizing
> for size. 
> 
> This was tested cross on qemu for cpu=arm7tdmi and cpu=cortex-a9 for
> arm-eabi with multilibs for Thumb1 and Thumb2 with no regressions. 
> 
> Ok to commit to trunk ?
> 

OK.

R.

> cheers
> Ramana
> 
> 
> 
> 2010-01-21 Stephen Thomas <stephen.thomas@arm.com>
> 
> 	* config/arm/arm.md (bswapsi2): Add support for bswapsi2.
> 	(arm_rev): New.
> 	(arm_legacy_rev): Likewise.
> 	(thumb_legacy_rev): Likewise.
> 
> 
> 2010-01-21 Stephen Thomas <stephen.thomas@arm.com>
> 
> 	* testsuite/gcc.dg/optimize-bswap*.c: Add ARM target
> 



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