> builtin-bswap-9.c fails on ia64, it still generates bswap:DI for foo2,
> foo3 and foo4.
It turns out that you need to combine 4 instructions on the IA-64 to get rid
of the bswaps, so -O2 (actually -fexpensive-optimizations) is required.
Tested on x86_64-suse-linux, applied on the mainline.
2
> What is the significance of the target selection?
Copied from optimize-bswapdi-1.c, but I should probably have copied it from
optimize-bswapsi-1.c for the bswapsi case. Will adjust.
> builtin-bswap-9.c fails on ia64, it still generates bswap:DI for foo2,
> foo3 and foo4.
OK, I'll take a look
Eric Botcazou writes:
> /* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* x86_64-*-*
> s390x-*-* powerpc*-*-* rs6000-*-* } } */
What is the significance of the target selection?
builtin-bswap-9.c fails on ia64, it still generates bswap:DI for foo2,
foo3 and foo4.
Andreas.
--
Andreas
On 05/23/2013 10:05 AM, Eric Botcazou wrote:
The PR is about missed simplifications for __builtin_swap. IIUC Andrew has
patches for them at the Tree level, but I think having basic simplifications
at the RTL level for BSWAP is also worthwhile, hence the attached patch.
Tested on x86_64-suse-lin
The PR is about missed simplifications for __builtin_swap. IIUC Andrew has
patches for them at the Tree level, but I think having basic simplifications
at the RTL level for BSWAP is also worthwhile, hence the attached patch.
Tested on x86_64-suse-linux. Comments?
2013-05-23 Eric Botcazou