1 /* Various stuff for the sparclet processor.
2 
3    This file is in the public domain.  */
4 
5 #ifndef _MACHINE_SPARCLET_H_
6 #define _MACHINE_SPARCLET_H_
7 
8 #ifdef __sparclet__
9 
10 /* sparclet scan instruction */
11 
12 extern __inline__ int
scan(int a,int b)13 scan (int a, int b)
14 {
15   int res;
16   __asm__ ("scan %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
17   return res;
18 }
19 
20 /* sparclet shuffle instruction */
21 
22 extern __inline__ int
shuffle(int a,int b)23 shuffle (int a, int b)
24 {
25   int res;
26   __asm__ ("shuffle %1,%2,%0" : "=r" (res) : "r" (a), "r" (b));
27   return res;
28 }
29 
30 #endif /* __sparclet__ */
31 
32 #endif /* _MACHINE_SPARCLET_H_ */
33