testsuite/93717 fix up gcc.dg/optimize-bswapsi-2.c for BE
authorRichard Biener <rguenther@suse.de>
Thu, 13 Feb 2020 08:10:28 +0000 (09:10 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 13 Feb 2020 08:12:17 +0000 (09:12 +0100)
2020-02-13  Richard Biener  <rguenther@suse.de>

PR testsuite/93717
* gcc.dg/optimize-bswapsi-2.c: Add BE case.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/optimize-bswapsi-2.c

index 9aa49fa2e4584db228742a9a3116b65c8d78e07d..63d3ff56996f72dfb5a183efb75302faa05dfe1d 100644 (file)
@@ -1,3 +1,8 @@
+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>
 
        PR target/93673
index f111553e1cf76556d7efbbb3a4b78e1ef241b035..330dfe994459e1019867f83cba2855a976b81237 100644 (file)
@@ -45,15 +45,26 @@ uint32_t read_be32_3 (unsigned char *data)
 }
 
 static inline unsigned short
-get_unaligned_16 (unsigned char *p)
+get_unaligned_16_le (unsigned char *p)
 {
   return p[0] | (p[1] << 8);
 }
 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 bswap implementation found at" 3 "bswap" } } */
+/* { dg-final { scan-tree-dump-times "32 bit bswap implementation found at" 4 "bswap" } } */