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