aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386/mmintrin.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config/i386/mmintrin.h')
-rw-r--r--gcc/config/i386/mmintrin.h37
1 files changed, 33 insertions, 4 deletions
diff --git a/gcc/config/i386/mmintrin.h b/gcc/config/i386/mmintrin.h
index 981a4b376f8..a366783cfa3 100644
--- a/gcc/config/i386/mmintrin.h
+++ b/gcc/config/i386/mmintrin.h
@@ -1,5 +1,5 @@
/* APPLE LOCAL file mainline 2005-06-30 Radar 4131077 */
-/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of GCC.
@@ -26,7 +26,7 @@
Public License. */
/* Implemented from the specification included in the Intel C++ Compiler
- User Guide and Reference, version 8.0. */
+ User Guide and Reference, version 9.0. */
#ifndef _MMINTRIN_H_INCLUDED
#define _MMINTRIN_H_INCLUDED
@@ -71,13 +71,27 @@ _m_from_int (int __i)
#ifdef __x86_64__
/* Convert I to a __m64 object. */
+
+/* Intel intrinsic. */
+static __inline __m64 __attribute__((__always_inline__, __nodebug__))
+_m_from_int64 (long long __i)
+{
+ return (__m64) __i;
+}
+
+static __inline __m64 __attribute__((__always_inline__, __nodebug__))
+_mm_cvtsi64_m64 (long long __i)
+{
+ return (__m64) __i;
+}
+
+/* Microsoft intrinsic. */
static __inline __m64 __attribute__((__always_inline__, __nodebug__))
_mm_cvtsi64x_si64 (long long __i)
{
return (__m64) __i;
}
-/* Convert I to a __m64 object. */
static __inline __m64 __attribute__((__always_inline__, __nodebug__))
_mm_set_pi64x (long long __i)
{
@@ -99,7 +113,22 @@ _m_to_int (__m64 __i)
}
#ifdef __x86_64__
-/* Convert the lower 32 bits of the __m64 object into an integer. */
+/* Convert the __m64 object to a 64bit integer. */
+
+/* Intel intrinsic. */
+static __inline long long __attribute__((__always_inline__, __nodebug__))
+_m_to_int64 (__m64 __i)
+{
+ return (long long)__i;
+}
+
+static __inline long long __attribute__((__always_inline__, __nodebug__))
+_mm_cvtm64_si64 (__m64 __i)
+{
+ return (long long)__i;
+}
+
+/* Microsoft intrinsic. */
static __inline long long __attribute__((__always_inline__, __nodebug__))
_mm_cvtsi64_si64x (__m64 __i)
{