2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / gcc / testsuite / gcc.target / avr / torture / pr63633-ice-mult.c
bloba523424c325324fb882edfdb873771d33a58ee7c
1 /* { dg-do compile } */
3 void ice_mult32 (int x)
5 register long reg __asm ("22");
6 __asm volatile (" " :: "r" (reg = 0x12345 * x));
9 void ice_mult24 (int x)
11 register __int24 reg __asm ("20");
12 __asm volatile (" " :: "r" (reg = 0x12345 * x));
15 void ice_sh24 (__int24 x)
17 register __int24 reg __asm ("20");
18 __asm volatile (" " :: "r" (reg = x << 3));
21 void ice_sh24b (__int24 x)
23 register __int24 reg __asm ("20");
24 __asm volatile (" " :: "r" (reg = x << 22));
27 void ice_s16s16 (int x)
29 register long reg __asm ("20");
30 __asm volatile (" " :: "r" (reg = (long) x*x));
33 void ice_u16s16 (int x)
35 register long reg __asm ("20");
36 __asm volatile (" " :: "r" (reg = (long) x*0x1234u));