media/libvpx/vpx_ports/emmintrin_compat.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /*
     2  *  Copyright (c) 2012 The WebM project authors. All Rights Reserved.
     3  *
     4  *  Use of this source code is governed by a BSD-style license
     5  *  that can be found in the LICENSE file in the root of the source
     6  *  tree. An additional intellectual property rights grant can be found
     7  *  in the file PATENTS.  All contributing project authors may
     8  *  be found in the AUTHORS file in the root of the source tree.
     9  */
    11 #ifndef VPX_PORTS_EMMINTRIN_COMPAT_H
    12 #define VPX_PORTS_EMMINTRIN_COMPAT_H
    14 #if defined(__GNUC__) && __GNUC__ < 4
    15 /* From emmintrin.h (gcc 4.5.3) */
    16 /* Casts between various SP, DP, INT vector types.  Note that these do no
    17    conversion of values, they just change the type.  */
    18 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    19 _mm_castpd_ps(__m128d __A)
    20 {
    21   return (__m128) __A;
    22 }
    24 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    25 _mm_castpd_si128(__m128d __A)
    26 {
    27   return (__m128i) __A;
    28 }
    30 extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    31 _mm_castps_pd(__m128 __A)
    32 {
    33   return (__m128d) __A;
    34 }
    36 extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    37 _mm_castps_si128(__m128 __A)
    38 {
    39   return (__m128i) __A;
    40 }
    42 extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    43 _mm_castsi128_ps(__m128i __A)
    44 {
    45   return (__m128) __A;
    46 }
    48 extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
    49 _mm_castsi128_pd(__m128i __A)
    50 {
    51   return (__m128d) __A;
    52 }
    53 #endif
    55 #endif

mercurial