Commit 8ea884b8 by Richard Biener

testsuite/93717 fix up gcc.dg/optimize-bswapsi-2.c for BE

2020-02-13  Richard Biener  <rguenther@suse.de>

	PR testsuite/93717
	* gcc.dg/optimize-bswapsi-2.c: Add BE case.
parent dc6d0f89
2020-02-13 Richard Biener <rguenther@suse.de>
PR testsuite/93717
* gcc.dg/optimize-bswapsi-2.c: Add BE case.
2020-02-13 Jakub Jelinek <jakub@redhat.com> 2020-02-13 Jakub Jelinek <jakub@redhat.com>
PR target/93673 PR target/93673
......
...@@ -45,15 +45,26 @@ uint32_t read_be32_3 (unsigned char *data) ...@@ -45,15 +45,26 @@ uint32_t read_be32_3 (unsigned char *data)
} }
static inline unsigned short static inline unsigned short
get_unaligned_16 (unsigned char *p) get_unaligned_16_le (unsigned char *p)
{ {
return p[0] | (p[1] << 8); return p[0] | (p[1] << 8);
} }
unsigned int unsigned int
get_unaligned_32 (unsigned char *p) get_unaligned_32_le (unsigned char *p)
{ {
return get_unaligned_16 (p) | (get_unaligned_16 (p + 2) << 16); return get_unaligned_16_le (p) | (get_unaligned_16_le (p + 2) << 16);
}
static inline unsigned short
get_unaligned_16_be (unsigned char *p)
{
return p[1] | (p[0] << 8);
}
unsigned int
get_unaligned_32_be (unsigned char *p)
{
return get_unaligned_16_be (p + 2) | (get_unaligned_16_be (p) << 16);
} }
/* { dg-final { scan-tree-dump-times "32 bit load in target endianness found at" 4 "bswap" } } */ /* { dg-final { scan-tree-dump-times "32 bit load in target endianness found at" 4 "bswap" } } */
/* { dg-final { scan-tree-dump-times "32 bit bswap implementation found at" 3 "bswap" } } */ /* { dg-final { scan-tree-dump-times "32 bit bswap implementation found at" 4 "bswap" } } */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment