[ARM,AArch64][testsuite] AdvSIMD intrinsics tests cleanup: remove useless expected...
[official-gcc.git] / gcc / testsuite / gcc.target / aarch64 / rev16_1.c
blob126d3c017714f2de0c4070c658636ed244363598
1 /* { dg-options "-O2" } */
2 /* { dg-do run } */
4 extern void abort (void);
6 typedef unsigned int __u32;
8 __u32
9 __rev16_32_alt (__u32 x)
11 return (((__u32)(x) & (__u32)0xff00ff00UL) >> 8)
12 | (((__u32)(x) & (__u32)0x00ff00ffUL) << 8);
15 __u32
16 __rev16_32 (__u32 x)
18 return (((__u32)(x) & (__u32)0x00ff00ffUL) << 8)
19 | (((__u32)(x) & (__u32)0xff00ff00UL) >> 8);
22 typedef unsigned long long __u64;
24 __u64
25 __rev16_64_alt (__u64 x)
27 return (((__u64)(x) & (__u64)0xff00ff00ff00ff00UL) >> 8)
28 | (((__u64)(x) & (__u64)0x00ff00ff00ff00ffUL) << 8);
31 __u64
32 __rev16_64 (__u64 x)
34 return (((__u64)(x) & (__u64)0x00ff00ff00ff00ffUL) << 8)
35 | (((__u64)(x) & (__u64)0xff00ff00ff00ff00UL) >> 8);
38 int
39 main (void)
41 volatile __u32 in32 = 0x12345678;
42 volatile __u32 expected32 = 0x34127856;
43 volatile __u64 in64 = 0x1234567890abcdefUL;
44 volatile __u64 expected64 = 0x34127856ab90efcdUL;
46 if (__rev16_32 (in32) != expected32)
47 abort ();
49 if (__rev16_32_alt (in32) != expected32)
50 abort ();
52 if (__rev16_64 (in64) != expected64)
53 abort ();
55 if (__rev16_64_alt (in64) != expected64)
56 abort ();
58 return 0;