1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre" } */
3 
f(unsigned short a)4 unsigned short f(unsigned short a)
5 {
6   if (a & 0x8000)
7     a <<= 1, a = a ^ 0x1021;
8   else
9     a <<= 1;
10 
11   return a;
12 }
13 
14 /* We should hoist and CSE the shift.  */
15 
16 /* { dg-final { scan-tree-dump-times " << 1;" 1 "pre" } } */
17