1183724Ssos/* PR optimization/8746 */
2230132Suqs/* { dg-do run } */
3183724Ssos/* { dg-require-effective-target ilp32 } */
4183724Ssos/* { dg-options "-O1 -mtune=i586" } */
5183724Ssos
6183724Ssosextern void abort (void);
7183724Ssos
8183724Ssosunsigned char r0;
9183724Ssos
10183724Ssosint foo(int x)
11183724Ssos{
12183724Ssos  unsigned char r = x&0xf0;
13183724Ssos
14183724Ssos  if (!(r&0x80))
15183724Ssos  {
16183724Ssos    r0 = r;
17183724Ssos    return 0;
18183724Ssos  }
19183724Ssos  else
20183724Ssos    return 1;
21183724Ssos}
22183724Ssos
23183724Ssosint main(void)
24183724Ssos{
25183724Ssos  if (foo(0x80) != 1)
26183724Ssos    abort();
27183724Ssos
28183724Ssos   return 0;
29183724Ssos}
30183724Ssos