This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] arm: add _mm_empty to mmintrin.h for source compatibility


On 28 May 2012 22:56, Matt Turner <mattst88@gmail.com> wrote:
> On Tue, Feb 28, 2012 at 7:13 PM, Ramana Radhakrishnan
> <ramana.radhakrishnan@linaro.org> wrote:
>> 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
>>>
>
> Copyright assignment is sorted. Please commit. :)

Done now. Only change was to put _m_empty in alphabetical order  and
this is what I committed.

Thanks,
Ramana

Index: gcc/config/arm/mmintrin.h
===================================================================
--- gcc/config/arm/mmintrin.h	(revision 188258)
+++ gcc/config/arm/mmintrin.h	(revision 188259)
@@ -32,6 +32,12 @@
 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)
@@ -1115,6 +1121,7 @@
   return (__m64)__a;
 }

+#define _m_empty _mm_empty
 #define _m_packsswb _mm_packs_pi16
 #define _m_packssdw _mm_packs_pi32
 #define _m_packuswb _mm_packs_pu16


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]