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 
foo(u16 val)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  */
30