> 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.


2013-05-28  Eric Botcazou  <ebotca...@adacore.com>

        * gcc.dg/builtin-bswap-8.c: Compile at -O2.
        * gcc.dg/builtin-bswap-9.c: Likewise.


-- 
Eric Botcazou
Index: gcc.dg/builtin-bswap-8.c
===================================================================
--- gcc.dg/builtin-bswap-8.c	(revision 199343)
+++ gcc.dg/builtin-bswap-8.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target arm*-*-* alpha*-*-* i?86-*-* powerpc*-*-* rs6000-*-* x86_64-*-* s390*-*-* } } */
 /* { dg-require-effective-target stdint_types } */
-/* { dg-options "-O -fdump-rtl-combine" } */
-/* { dg-options "-O -fdump-rtl-combine -march=z900" { target s390-*-* } } */
+/* { dg-options "-O2 -fdump-rtl-combine" } */
+/* { dg-options "-O2 -fdump-rtl-combine -march=z900" { target s390-*-* } } */
 
 #include <stdint.h>
 
Index: gcc.dg/builtin-bswap-9.c
===================================================================
--- gcc.dg/builtin-bswap-9.c	(revision 199343)
+++ gcc.dg/builtin-bswap-9.c	(working copy)
@@ -1,7 +1,7 @@
 /* { dg-do compile { target arm*-*-* alpha*-*-* ia64*-*-* x86_64-*-* s390x-*-* powerpc*-*-* rs6000-*-* } } */
 /* { dg-require-effective-target stdint_types } */
 /* { dg-require-effective-target lp64 } */
-/* { dg-options "-O -fdump-rtl-combine" } */
+/* { dg-options "-O2 -fdump-rtl-combine" } */
 
 #include <stdint.h>
 

Reply via email to