1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/media/libvpx/vpx_ports/emmintrin_compat.h Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,55 @@ 1.4 +/* 1.5 + * Copyright (c) 2012 The WebM project authors. All Rights Reserved. 1.6 + * 1.7 + * Use of this source code is governed by a BSD-style license 1.8 + * that can be found in the LICENSE file in the root of the source 1.9 + * tree. An additional intellectual property rights grant can be found 1.10 + * in the file PATENTS. All contributing project authors may 1.11 + * be found in the AUTHORS file in the root of the source tree. 1.12 + */ 1.13 + 1.14 +#ifndef VPX_PORTS_EMMINTRIN_COMPAT_H 1.15 +#define VPX_PORTS_EMMINTRIN_COMPAT_H 1.16 + 1.17 +#if defined(__GNUC__) && __GNUC__ < 4 1.18 +/* From emmintrin.h (gcc 4.5.3) */ 1.19 +/* Casts between various SP, DP, INT vector types. Note that these do no 1.20 + conversion of values, they just change the type. */ 1.21 +extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.22 +_mm_castpd_ps(__m128d __A) 1.23 +{ 1.24 + return (__m128) __A; 1.25 +} 1.26 + 1.27 +extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.28 +_mm_castpd_si128(__m128d __A) 1.29 +{ 1.30 + return (__m128i) __A; 1.31 +} 1.32 + 1.33 +extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.34 +_mm_castps_pd(__m128 __A) 1.35 +{ 1.36 + return (__m128d) __A; 1.37 +} 1.38 + 1.39 +extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.40 +_mm_castps_si128(__m128 __A) 1.41 +{ 1.42 + return (__m128i) __A; 1.43 +} 1.44 + 1.45 +extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.46 +_mm_castsi128_ps(__m128i __A) 1.47 +{ 1.48 + return (__m128) __A; 1.49 +} 1.50 + 1.51 +extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__)) 1.52 +_mm_castsi128_pd(__m128i __A) 1.53 +{ 1.54 + return (__m128d) __A; 1.55 +} 1.56 +#endif 1.57 + 1.58 +#endif