llvmpipe: use MCJIT on ARM and AArch64
authorKyle McMartin <kyle@redhat.com>
Mon, 15 Jul 2013 14:51:15 +0000 (10:51 -0400)
committerDave Airlie <airlied@gmail.com>
Wed, 17 Jul 2013 07:29:01 +0000 (17:29 +1000)
MCJIT is the only supported LLVM JIT on AArch64 and ARM (the regular
JIT has bit-rotted badly on ARM and doesn't exist on AArch64.)

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
src/gallium/auxiliary/gallivm/lp_bld_init.c
src/gallium/include/pipe/p_config.h

index 3258f036ee60fdfc0cc6b244ef39efd2ceecda1d..e4cc0582a7010e86fa432c092b62f34922cdf51c 100644 (file)
@@ -49,7 +49,7 @@
  *   - MC-JIT supports limited OSes (MacOSX and Linux)
  * - standard JIT in LLVM 3.1, with backports
  */
-#if defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390)
+#if defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390) || defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64)
 #  define USE_MCJIT 1
 #  define HAVE_AVX 0
 #elif HAVE_LLVM >= 0x0302 || (HAVE_LLVM == 0x0301 && defined(HAVE_JIT_AVX_SUPPORT))
index 6b51160af6978eeb01ed6c511ff907ce6456cf0d..1588a92e41bed07d195eb3b4f8b8b35acab3c5a3 100644 (file)
 #define PIPE_ARCH_S390
 #endif
 
+#if defined(__arm__)
+#define PIPE_ARCH_ARM
+#endif
+
+#if defined(__aarch64__)
+#define PIPE_ARCH_AARCH64
+#endif
 
 /*
  * Endian detection.
 
 #else
 
-#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
+#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) || defined(PIPE_ARCH_ARM) || defined(PIPE_ARCH_AARCH64)
 #define PIPE_ARCH_LITTLE_ENDIAN
 #elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390)
 #define PIPE_ARCH_BIG_ENDIAN