1/* { dg-do compile } */
2
3void nop (void)    { __builtin_avr_nop (); }
4void sei (void)    { __builtin_avr_sei (); }
5void cli (void)    { __builtin_avr_cli (); }
6void wdr (void)    { __builtin_avr_wdr (); }
7void sleep (void)  { __builtin_avr_sleep (); }
8
9char fmul (char a, char b)   { return __builtin_avr_fmul (a, b); }
10char fmuls (char a, char b)  { return __builtin_avr_fmuls (a, b); }
11char fmulsu (char a, char b) { return __builtin_avr_fmulsu (a, b); }
12
13char swap1 (char a)
14{
15    return __builtin_avr_swap (a+1);
16}
17
18char swap2 (char a)
19{
20    return __builtin_avr_swap (__builtin_avr_swap (a+1));
21}
22
23char swap15 (void)
24{
25    return __builtin_avr_swap (15);
26}
27
28void delay0 (void)  { __builtin_avr_delay_cycles (0); }
29void delay1 (void)  { __builtin_avr_delay_cycles (1); }
30void delay2 (void)  { __builtin_avr_delay_cycles (2); }
31void delay3 (void)  { __builtin_avr_delay_cycles (3); }
32
33void delay_1 (void)  { __builtin_avr_delay_cycles (44); }
34void delay_2 (void)  { __builtin_avr_delay_cycles (0x1234); }
35void delay_3 (void)  { __builtin_avr_delay_cycles (0x123456); }
36void delay_4 (void)  { __builtin_avr_delay_cycles (-1ul); }
37
38/* { dg-final { scan-assembler-not "__builtin_avr_" } } */
39