1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-pre" } */ 3 f(unsigned short a)4unsigned 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