1 /* PR rtl-optimization/89679 */
2 /* { dg-do run } */
3 /* { dg-options "-Og -frerun-cse-after-loop -fno-tree-fre" } */
4
5 unsigned short g;
6
7 void
8 foo (unsigned long long x)
9 {
10 if (x != 0xffff)
11 __builtin_abort ();
12 }
13
14 int
15 main ()
16 {
17 #if __SIZEOF_SHORT__ == 2 && __SIZEOF_INT__ == 4 && __CHAR_BIT__ == 8
18 unsigned short d = 0;
19 unsigned long long x, c = ~0;
20 c = c >> d;
21 __builtin_memset (&d, c, 2);
22 x = d + g;
23 foo (x);
24 #endif
25 return 0;
26 }