On Wed, 2012-09-19 at 18:44 +0200, Georg-Johann Lay wrote: > This seems overly complicated on 16-bit platforms where (A << 8) | (A >> 8) > is the same as rotate:HI (A 8). > > Does your patch make sure that (A << 8) | (A >> 8) is still mapped to ROTATE > on these targets? >
If I remember correctly, the bswap16 builtin expansion will try to use a rotate pattern, if no HImode bswap is present. Cheers, Oleg