This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] arm: add _mm_empty to mmintrin.h for source compatibility
- From: Matt Turner <mattst88 at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org
- Cc: 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>, Matt Turner <mattst88 at gmail dot com>
- Date: Fri, 24 Feb 2012 22:53:35 -0500
- Subject: [PATCH] arm: add _mm_empty to mmintrin.h for source compatibility
- Authentication-results: mr.google.com; spf=pass (google.com: domain of mattst88@gmail.com designates 10.101.131.10 as permitted sender) smtp.mail=mattst88@gmail.com; dkim=pass header.i=mattst88@gmail.com
- References: <1330142015-26244-1-git-send-email-mattst88@gmail.com>
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.
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