1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -Werror-implicit-function-declaration" } */ 3 4 #define NORET(name) \ 5 void test_ ## name (void) \ 6 { \ 7 __builtin_arc_ ## name (); \ 8 } 9 10 #define RET(name, rettype) \ 11 rettype test_ ## name (void) \ 12 { \ 13 return __builtin_arc_ ## name (); \ 14 } 15 16 #define NORET1OP(name, op1type) \ 17 void test_ ## name ## _1 (void) \ 18 { \ 19 __builtin_arc_ ## name (0x10); \ 20 } 21 22 23 NORET (nop) 24 #if !defined (__ARC600__) && !defined (__ARC601__) 25 NORET (rtie) 26 #endif 27 28 #ifdef __A7__ 29 NORET (sync) 30 #endif 31 32 NORET (brk) 33 NORET (swi) 34 35 NORET1OP (sleep, unsigned int) 36 37 #if defined (__A7__) || defined (__EM__) || defined (__HS__) 38 NORET1OP (trap_s, unsigned int) 39 NORET (unimp_s) 40 #endif 41 42 #if defined (__EM__) || defined (__HS__) 43 RET (clri, int) 44 #endif 45