This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] arm: add _mm_empty to mmintrin.h for source compatibility
- From: Ramana Radhakrishnan <ramana dot radhakrishnan at linaro dot org>
- To: Matt Turner <mattst88 at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Nick Clifton <nickc at redhat dot com>, Richard Earnshaw <richard dot earnshaw at arm dot com>, Paul Brook <paul at codesourcery dot com>, Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- Date: Wed, 29 Feb 2012 00:13:59 +0000
- Subject: Re: [PATCH] arm: add _mm_empty to mmintrin.h for source compatibility
- Authentication-results: mr.google.com; spf=pass (google.com: domain of ramana.radhakrishnan@linaro.org designates 10.180.24.166 as permitted sender) smtp.mail=ramana.radhakrishnan@linaro.org
- References: <1330142015-26244-1-git-send-email-mattst88@gmail.com> <1330142015-26244-2-git-send-email-mattst88@gmail.com>
On Fri, Feb 24, 2012 at 10:53:35PM -0500, Matt Turner wrote:
> The x86/amd64 mmintrin.h provides the _mm_empty intrinsic for the 'emms'
> MMX instruction. Although ARM does not need such an instruction, we
> should provide an empty _mm_empty function nonetheless for source
> compatibility.
OK for 4.8 and after your copyright assignment has been
sorted.
Ramana
>
> 2012-02-24 Matt Turner <mattst88@gmail.com>
>
> * config/arm/mmintrin.h (_mm_empty): New.
> ---
> gcc/config/arm/mmintrin.h | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/gcc/config/arm/mmintrin.h b/gcc/config/arm/mmintrin.h
> index 2cc500d..ea73bf1 100644
> --- a/gcc/config/arm/mmintrin.h
> +++ b/gcc/config/arm/mmintrin.h
> @@ -32,6 +32,12 @@ typedef int __v2si __attribute__ ((vector_size (8)));
> typedef short __v4hi __attribute__ ((vector_size (8)));
> typedef char __v8qi __attribute__ ((vector_size (8)));
>
> +/* Provided for source compatibility with MMX. */
> +extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
> +_mm_empty (void)
> +{
> +}
> +
> /* "Convert" __m64 and __int64 into each other. */
> static __inline __m64
> _mm_cvtsi64_m64 (__int64 __i)
> @@ -1248,6 +1254,7 @@ _m_from_int (int __a)
> #define _m_psadzbw _mm_sadz_pu8
> #define _m_psadzwd _mm_sadz_pu16
> #define _m_paligniq _mm_align_si64
> +#define _m_empty _mm_empty
> #define _m_cvt_si2pi _mm_cvtsi64_m64
> #define _m_cvt_pi2si _mm_cvtm64_si64
>
> --
> 1.7.3.4
>