1 typedef unsigned short u16;
2 typedef short s16;
3 typedef unsigned int u32;
4 typedef int s32;
5
ufoo(u32 x)6 u32 ufoo(u32 x)
7 {
8 u16 i = ((u16)x) & 0x7fffU;
9 return i;
10 }
11
sfoo(u32 x)12 u32 sfoo(u32 x)
13 {
14 s16 i = ((s16)x) & 0x7fff;
15 return i;
16 }
17
18 /*
19 * check-name: and-extend
20 * check-command: test-linearize -Wno-decl $file
21 *
22 * check-output-ignore
23 * check-output-excludes: trunc\\.
24 * check-output-excludes: zext\\.
25 * check-output-excludes: sext\\.
26 * check-output-contains: and\\.32.*0x7fff
27 */
28