1/* PR target/55147 */ 2/* { dg-do run } */ 3/* { dg-options "-O1" } */ 4/* { dg-additional-options "-march=i486" { target ia32 } } */ 5 6extern void abort (void); 7 8__attribute__((noclone, noinline)) unsigned int 9foo (unsigned long long *p, int i) 10{ 11 return __builtin_bswap64 (p[i]); 12} 13 14int 15main () 16{ 17 unsigned long long p[64]; 18 int i; 19 for (i = 0; i < 64; i++) 20 p[i] = 0x123456789abcdef0ULL ^ (1ULL << i) ^ (1ULL << (63 - i)); 21 for (i = 0; i < 64; i++) 22 if (foo (p, i) != __builtin_bswap32 (p[i] >> 32)) 23 abort (); 24 return 0; 25} 26