OSDN Git Service

2007-05-22 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.target / i386 / 20000614-1.c
1 /* { dg-do run { target i?86-*-* x86_64-*-* } } */
2 /* { dg-options "-O2" } */
3
4 void bar(char *p)
5 {
6 }
7
8 static inline void foo (unsigned long base, unsigned char val)
9 {
10   val ^= (1<<2);
11   bar (val & (1<<5) ? "1" : "2");
12   bar (val & (1<<4) ? "1" : "2");
13   bar (val & (1<<3) ? "1" : "2");
14   bar (val & (1<<2) ? "1" : "2");
15   bar (val & (1<<1) ? "1" : "2");
16   bar (val & (1<<0) ? "1" : "2");
17   asm volatile ("": :"a" (val), "d" (base));
18 }
19
20 int main (void)
21 {
22   foo (23, 1);
23   return 0;
24 }