OSDN Git Service

2010-01-03 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / pr42589.c
1 /* { dg-do compile } */
2 /* { dg-require-effective-target ilp32 } */
3 /* { dg-options "-O2 -march=i486" } */
4
5 void
6 foo (unsigned long long *p)
7 {
8   unsigned long long tmp;
9   tmp = *p;
10   tmp = (tmp >> 32) | (tmp << 32);
11   tmp = (((tmp & 0xff00ff00ff00ff00ULL) >> 8)
12          | ((tmp & 71777214294589695ULL) << 8));
13   *p = (((tmp & 0xffff0000ffff0000ULL) >> 16)
14         | ((tmp & 281470681808895ULL) << 16));
15 }
16
17 /* { dg-final { scan-assembler-times "bswap" 2 } } */