2016-12-07 Thomas Preud'homme <thomas.preudhomme@arm.com>
[official-gcc.git] / gcc / testsuite / gcc.target / avr / torture / builtins-1.c
blob1fa3aaaaeb33d5e0ac86bc65d47fca10903dbf32
1 /* { dg-do compile } */
3 void nop (void) { __builtin_avr_nop (); }
4 void sei (void) { __builtin_avr_sei (); }
5 void cli (void) { __builtin_avr_cli (); }
6 void wdr (void) { __builtin_avr_wdr (); }
7 void sleep (void) { __builtin_avr_sleep (); }
9 char fmul (char a, char b) { return __builtin_avr_fmul (a, b); }
10 char fmuls (char a, char b) { return __builtin_avr_fmuls (a, b); }
11 char fmulsu (char a, char b) { return __builtin_avr_fmulsu (a, b); }
13 char swap1 (char a)
15 return __builtin_avr_swap (a+1);
18 char swap2 (char a)
20 return __builtin_avr_swap (__builtin_avr_swap (a+1));
23 char swap15 (void)
25 return __builtin_avr_swap (15);
28 void delay0 (void) { __builtin_avr_delay_cycles (0); }
29 void delay1 (void) { __builtin_avr_delay_cycles (1); }
30 void delay2 (void) { __builtin_avr_delay_cycles (2); }
31 void delay3 (void) { __builtin_avr_delay_cycles (3); }
33 void delay_1 (void) { __builtin_avr_delay_cycles (44); }
34 void delay_2 (void) { __builtin_avr_delay_cycles (0x1234); }
35 void delay_3 (void) { __builtin_avr_delay_cycles (0x123456); }
36 void delay_4 (void) { __builtin_avr_delay_cycles (-1ul); }
38 /* { dg-final { scan-assembler-not "__builtin_avr_" } } */