1 #ifdef __SIZEOF_INT__ == 4
   2 typedef unsigned int u32;
   3 #endif
   4 #ifdef __SIZEOF_SHORT__ == 2
   5 typedef unsigned short u16;
   6 #endif
   7 
   8 
   9 union u {
  10         u32     a;
  11         u16     b;
  12 };
  13 
  14 void bar(u16, union u);
  15 
  16 void foo(u16 val)
  17 {
  18         union u u;
  19 
  20         u.b = val;
  21         bar(u.b, u);
  22 }
  23 
  24 /*
  25  * check-name: short-load
  26  * check-command: test-linearize -Wno-decl -fdump-ir=mem2reg $file
  27  * check-output-ignore
  28  * check-output-contains: load\\.32
  29  */