1 /* PR tree-optimization/103376 */
2 /* { dg-do compile } */
3 /* { dg-require-effective-target bswap } */
4 /* { dg-options "-O2 -fno-tree-vectorize -fdump-tree-optimized" } */
5 /* { dg-additional-options "-march=z900" { target s390-*-* } } */
10 return (x
<< 24) | (x
>> 8);
16 return ((f1 (p
[0]) | (p
[0] >> 8)) & 0xff000000U
) | (p
[0] >> 24) | ((p
[0] & 0xff00U
) << 8) | ((p
[0] & 0xff0000U
) >> 8);
22 return ((f1 (p
[0]) | (p
[0] & 0x00ff00ffU
)) & 0xff00ff00U
) | (f1 (f1 (f1 (p
[0]))) & 0x00ff00ffU
);
28 return (f1 (p
[0]) ^ (p
[0] >> 8)) ^ (p
[0] >> 24) ^ ((p
[0] & 0xff00U
) << 8) ^ ((p
[0] & 0xff0000U
) >> 8);
34 return (((f1 (p
[0]) | (p
[0] >> 16)) ^ (p
[0] >> 8)) & 0xffff0000U
) ^ (p
[0] >> 24) ^ ((p
[0] & 0xff00U
) << 8) ^ ((p
[0] & 0xff0000U
) >> 8);
37 /* { dg-final { scan-tree-dump-times "= __builtin_bswap32 \\\(" 4 "optimized" } } */