[Mesa-dev] [PATCH] llvmpipe: use MCJIT on ARM and AArch64

Jose Fonseca jfonseca at vmware.com
Tue Jul 16 08:14:47 PDT 2013


Looks alright be me.

Jose

----- Original Message -----
> From: Kyle McMartin <kyle at redhat.com>
> 
> 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 at redhat.com>
> 
> --- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
> +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
> @@ -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))
> diff --git a/src/gallium/include/pipe/p_config.h
> b/src/gallium/include/pipe/p_config.h
> index 6b51160..96b5247 100644
> --- a/src/gallium/include/pipe/p_config.h
> +++ b/src/gallium/include/pipe/p_config.h
> @@ -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
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list