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 NORET (rtie)
25 
26 #ifdef __A7__
27  NORET (sync)
28 #endif
29 
30 NORET (brk)
31 NORET (swi)
32 
33 NORET1OP (sleep, unsigned int)
34 
35 #if defined (__A7__) || defined (__EM__) || defined (__HS__)
36 NORET1OP (trap_s, unsigned int)
37 NORET (unimp_s)
38 #endif
39 
40 #if defined (__EM__) || defined (__HS__)
41 RET (clri, int)
42 #endif
43