| typedef unsigned short u16; | |
| typedef short s16; | |
| typedef unsigned int u32; | |
| typedef int s32; | |
| u32 ufoo(u32 x) | |
| { | |
| u16 i = ((u16)x) & 0x7fffU; | |
| return i; | |
| } | |
| u32 sfoo(u32 x) | |
| { | |
| s16 i = ((s16)x) & 0x7fff; | |
| return i; | |
| } | |
| /* | |
| * check-name: and-extend | |
| * check-command: test-linearize -Wno-decl $file | |
| * | |
| * check-output-ignore | |
| * check-output-excludes: trunc\\. | |
| * check-output-excludes: zext\\. | |
| * check-output-excludes: sext\\. | |
| * check-output-contains: and\\.32.*0x7fff | |
| */ |