diff options
Diffstat (limited to 'newlib/libc/machine/sparc/machine/sparclet.h')
-rw-r--r-- | newlib/libc/machine/sparc/machine/sparclet.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/newlib/libc/machine/sparc/machine/sparclet.h b/newlib/libc/machine/sparc/machine/sparclet.h new file mode 100644 index 00000000000..34a0e82ff09 --- /dev/null +++ b/newlib/libc/machine/sparc/machine/sparclet.h @@ -0,0 +1,32 @@ +/* Various stuff for the sparclet processor. + + This file is in the public domain. */ + +#ifndef _MACHINE_SPARCLET_H_ +#define _MACHINE_SPARCLET_H_ + +#ifdef __sparclet__ + +/* sparclet scan instruction */ + +extern __inline__ int +scan (int a, int b) +{ + int res; + __asm__ ("scan %1,%2,%0" : "=r" (res) : "r" (a), "r" (b)); + return res; +} + +/* sparclet shuffle instruction */ + +extern __inline__ int +shuffle (int a, int b) +{ + int res; + __asm__ ("shuffle %1,%2,%0" : "=r" (res) : "r" (a), "r" (b)); + return res; +} + +#endif /* __sparclet__ */ + +#endif /* _MACHINE_SPARCLET_H_ */ |