| /* { dg-do compile } */ |
| |
| void ice_mult32 (int x) |
| { |
| register long reg __asm ("22"); |
| __asm volatile (" " :: "r" (reg = 0x12345 * x)); |
| } |
| |
| void ice_mult24 (int x) |
| { |
| register __int24 reg __asm ("20"); |
| __asm volatile (" " :: "r" (reg = 0x12345 * x)); |
| } |
| |
| void ice_sh24 (__int24 x) |
| { |
| register __int24 reg __asm ("20"); |
| __asm volatile (" " :: "r" (reg = x << 3)); |
| } |
| |
| void ice_sh24b (__int24 x) |
| { |
| register __int24 reg __asm ("20"); |
| __asm volatile (" " :: "r" (reg = x << 22)); |
| } |
| |
| void ice_s16s16 (int x) |
| { |
| register long reg __asm ("20"); |
| __asm volatile (" " :: "r" (reg = (long) x*x)); |
| } |
| |
| void ice_u16s16 (int x) |
| { |
| register long reg __asm ("20"); |
| __asm volatile (" " :: "r" (reg = (long) x*0x1234u)); |
| } |