llvmpipe: use MCJIT on ARM and AArch64

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>
This commit is contained in:
Kyle McMartin 2013-07-15 10:51:15 -04:00 committed by Dave Airlie
parent 00d32cd5b4
commit 87c3440567
2 changed files with 9 additions and 2 deletions

View 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))

View file

@ -114,6 +114,13 @@
#define PIPE_ARCH_S390
#endif
#if defined(__arm__)
#define PIPE_ARCH_ARM
#endif
#if defined(__aarch64__)
#define PIPE_ARCH_AARCH64
#endif
/*
* Endian detection.
@ -148,7 +155,7 @@
#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