X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=source%2Fgles2rice%2Fsrc%2Farm_features.h;fp=source%2Fgles2rice%2Fsrc%2Farm_features.h;h=fdec5229824f2151518652d13d4d78689dc0c61d;hb=61b9f2dfb3e20d2e2e7efda30cf459df5134d88f;hp=0000000000000000000000000000000000000000;hpb=5c6423ae74de9908a20177c405c6f29cc5f6f91e;p=mupen64plus-pandora.git diff --git a/source/gles2rice/src/arm_features.h b/source/gles2rice/src/arm_features.h new file mode 100644 index 0000000..fdec522 --- /dev/null +++ b/source/gles2rice/src/arm_features.h @@ -0,0 +1,52 @@ +#ifndef __ARM_FEATURES_H__ +#define __ARM_FEATURES_H__ + +#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \ + || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \ + || defined(__ARM_ARCH_7EM__) + +#define HAVE_ARMV7 +#define HAVE_ARMV6 +#define HAVE_ARMV5 + +#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ + || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) \ + || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) + +#define HAVE_ARMV6 +#define HAVE_ARMV5 + +#elif defined(__ARM_ARCH_5__) || defined(__ARM_ARCH_5E__) \ + || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) + +#define HAVE_ARMV5 + +#endif + +/* no need for HAVE_NEON - GCC defines __ARM_NEON__ consistently */ + +/* global function/external symbol */ +#ifndef __MACH__ +#define ESYM(name) name + +#define FUNCTION(name) \ + .globl name; \ + .type name, %function; \ + name + +#define EXTRA_UNSAVED_REGS + +#else +#define ESYM(name) _##name + +#define FUNCTION(name) \ + .globl ESYM(name); \ + name: \ + ESYM(name) + +// r7 is preserved, but add it for EABI alignment.. +#define EXTRA_UNSAVED_REGS r7, r9, + +#endif + +#endif /* __ARM_FEATURES_H__ */