gcc/
* ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
endianness instead of host endianness.
* tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
comments.
gcc/testsuite/
* gcc.dg/optimize-bswaphi-1.c: Adapt test to change of dump output.
Specify -march=z900 as an additional option.
* gcc.dg/optimize-bswapsi-1.c: Likewise for s390 options.
* gcc.dg/optimize-bswapsi-2.c: Likewise.
* gcc.dg/optimize-bswapdi-3.c: Likewise for adaptation to dump change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211309
138bc75d-0d04-0410-961f-
82ee72b054a4
+2014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * ChangeLog (2014-05-23): Fix ChangeLog entry to refer to target
+ endianness instead of host endianness.
+ * tree-ssa-math-opts.c (find_bswap_or_nop_1): Likewise in dumps and
+ comments.
+
2014-06-06 Eric Botcazou <ebotcazou@adacore.com>
PR debug/53927
(find_bswap_or_nop_1): This. Also add support for memory source.
(find_bswap): Renamed to ...
(find_bswap_or_nop): This. Also add support for memory source and
- detection of bitwise operations equivalent to load in host endianness.
+ detection of bitwise operations equivalent to load in target
+ endianness.
(execute_optimize_bswap): Likewise. Also move its leading comment back
in place and split statement transformation into ...
(bswap_replace): This.
+2014-06-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ * gcc.dg/optimize-bswaphi-1.c: Adapt test to change of dump output.
+ Specify -march=z900 as an additional option.
+ * gcc.dg/optimize-bswapsi-1.c: Likewise for s390 options.
+ * gcc.dg/optimize-bswapsi-2.c: Likewise.
+ * gcc.dg/optimize-bswapdi-3.c: Likewise for adaptation to dump change.
+
2014-06-06 Jakub Jelinek <jakub@redhat.com>
* gfortran.dg/gomp/allocatable_components_1.f90: Adjust for
| ((uint64_t) *(data + 1) << 48) | ((uint64_t) *data << 56);
}
-/* { dg-final { scan-tree-dump-times "64 bit load in host endianness found at" 3 "bswap" } } */
+/* { dg-final { scan-tree-dump-times "64 bit load in target endianness found at" 3 "bswap" } } */
/* { dg-final { scan-tree-dump-times "64 bit bswap implementation found at" 3 "bswap" { xfail alpha*-*-* arm*-*-* } } } */
/* { dg-final { cleanup-tree-dump "bswap" } } */
/* { dg-require-effective-target bswap16 } */
/* { dg-require-effective-target stdint_types } */
/* { dg-options "-O2 -fdump-tree-bswap" } */
-/* { dg-options "-O2 -fdump-tree-bswap -march=z900" { target s390-*-* } } */
+/* { dg-additional-options "-march=z900" { target s390-*-* } } */
#include <stdint.h>
return *(data + 1) | (*data << 8);
}
-/* { dg-final { scan-tree-dump-times "16 bit load in host endianness found at" 3 "bswap" } } */
+/* { dg-final { scan-tree-dump-times "16 bit load in target endianness found at" 3 "bswap" } } */
/* { dg-final { scan-tree-dump-times "16 bit bswap implementation found at" 3 "bswap" { xfail alpha*-*-* arm*-*-* } } } */
/* { dg-final { cleanup-tree-dump "bswap" } } */
/* { dg-require-effective-target bswap32 } */
/* { dg-require-effective-target stdint_types } */
/* { dg-options "-O2 -fdump-tree-bswap" } */
-/* { dg-options "-O2 -fdump-tree-bswap -march=z900" { target s390-*-* } } */
+/* { dg-additional-options "-march=z900" { target s390-*-* } } */
#include <stdint.h>
/* { dg-require-effective-target bswap32 } */
/* { dg-require-effective-target stdint_types } */
/* { dg-options "-O2 -fdump-tree-bswap" } */
-/* { dg-options "-O2 -fdump-tree-bswap -march=z900" { target s390-*-* } } */
+/* { dg-additional-options "-march=z900" { target s390-*-* } } */
#include <stdint.h>
| (*data << 24);
}
-/* { dg-final { scan-tree-dump-times "32 bit load in host endianness found at" 3 "bswap" } } */
+/* { dg-final { scan-tree-dump-times "32 bit load in target endianness found at" 3 "bswap" } } */
/* { dg-final { scan-tree-dump-times "32 bit bswap implementation found at" 3 "bswap" { xfail alpha*-*-* arm*-*-* } } } */
/* { dg-final { cleanup-tree-dump "bswap" } } */
n->range = n2.range + off_sub;
/* Reinterpret byte marks in symbolic number holding the value of
- bigger weight according to host endianness. */
+ bigger weight according to target endianness. */
inc = BYTES_BIG_ENDIAN ? off_sub + n2.range - n1.range : off_sub;
mask = 0xFF;
if (BYTES_BIG_ENDIAN)
/* A complete byte swap should make the symbolic number to start with
the largest digit in the highest order byte. Unchanged symbolic
- number indicates a read with same endianness as host architecture. */
+ number indicates a read with same endianness as target architecture. */
if (n->n == cmpnop)
*bswap = false;
else if (n->n == cmpxchg)
if (dump_file)
{
fprintf (dump_file,
- "%d bit load in host endianness found at: ",
+ "%d bit load in target endianness found at: ",
(int)n->range);
print_gimple_stmt (dump_file, stmt, 0, 0);
}
/* Find manual byte swap implementations as well as load in a given
endianness. Byte swaps are turned into a bswap builtin invokation
while endian loads are converted to bswap builtin invokation or
- simple load according to the host endianness. */
+ simple load according to the target endianness. */
unsigned int
pass_optimize_bswap::execute (function *fun)