diff options
author | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-27 22:17:46 +0000 |
---|---|---|
committer | hjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-01-27 22:17:46 +0000 |
commit | 52fdc46e80b7c8c4cc2c0fcf9ea807a2c578ccb0 (patch) | |
tree | c47bd1b23510cab974a66885848cf9abc957bb46 /gcc/config/i386/mmintrin.h | |
parent | cddac5d41c76cf4b34045a8c4f39549d228cf119 (diff) | |
download | gcc-52fdc46e80b7c8c4cc2c0fcf9ea807a2c578ccb0.tar.gz |
2006-01-27 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/emmintrin.h (_mm_cvtsd_f64): Add missing Intel
intrinsic.
(_mm_cvtsi128_si64): Likewise.
(_mm_cvtsd_si64): Likewise.
(_mm_cvttsd_si64): Likewise.
(_mm_cvtsi64_sd): Likewise.
(_mm_cvtsi64_si128): Likewise.
* config/i386/mmintrin.h (_m_from_int64): Likewise.
(_mm_cvtsi64_m64): Likewise.
(_m_to_int64): Likewise.
(_mm_cvtm64_si64): Likewise.
* config/i386/xmmintrin.h (_mm_cvtss_si64): Likewise.
(_mm_cvttss_si64): Likewise.
(_mm_cvtsi64_ss): Likewise.
(_mm_cvtss_f32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110311 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/mmintrin.h')
-rw-r--r-- | gcc/config/i386/mmintrin.h | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/gcc/config/i386/mmintrin.h b/gcc/config/i386/mmintrin.h index b98caf0cac2..1a74271f648 100644 --- a/gcc/config/i386/mmintrin.h +++ b/gcc/config/i386/mmintrin.h @@ -1,4 +1,5 @@ -/* 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. @@ -25,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 @@ -69,13 +70,27 @@ _m_from_int (int __i) #ifdef __x86_64__ /* Convert I to a __m64 object. */ + +/* Intel intrinsic. */ +static __inline __m64 __attribute__((__always_inline__)) +_m_from_int64 (long long __i) +{ + return (__m64) __i; +} + +static __inline __m64 __attribute__((__always_inline__)) +_mm_cvtsi64_m64 (long long __i) +{ + return (__m64) __i; +} + +/* Microsoft intrinsic. */ static __inline __m64 __attribute__((__always_inline__)) _mm_cvtsi64x_si64 (long long __i) { return (__m64) __i; } -/* Convert I to a __m64 object. */ static __inline __m64 __attribute__((__always_inline__)) _mm_set_pi64x (long long __i) { @@ -97,7 +112,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__)) +_m_to_int64 (__m64 __i) +{ + return (long long)__i; +} + +static __inline long long __attribute__((__always_inline__)) +_mm_cvtm64_si64 (__m64 __i) +{ + return (long long)__i; +} + +/* Microsoft intrinsic. */ static __inline long long __attribute__((__always_inline__)) _mm_cvtsi64_si64x (__m64 __i) { |