add minimal versions of emmintrin.h, mmintrin.h, xmmintrin.h
just enough for libsamplerate

svn path=/trunk/; revision=53377
This commit is contained in:
Timo Kreuzer 2011-08-22 16:29:01 +00:00
parent a48c19b60c
commit 6e4670679a
3 changed files with 74 additions and 0 deletions

View file

@ -0,0 +1,24 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#pragma once
#ifndef _INCLUDED_EMM
#define _INCLUDED_EMM
#include <crtdefs.h>
#include <xmmintrin.h>
typedef struct _CRT_ALIGN(16) __m128d
{
double m128d_f64[2];
} __m128d;
extern __m128d _mm_load_sd(double const*);
extern int _mm_cvtsd_si32(__m128d);
#endif /* _INCLUDED_EMM */

View file

@ -0,0 +1,15 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#pragma once
#ifndef _MMINTRIN_H_INCLUDED
#define _MMINTRIN_H_INCLUDED
#include <crtdefs.h>
#endif /* _MMINTRIN_H_INCLUDED */

View file

@ -0,0 +1,35 @@
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-runtime package.
* No warranty is given; refer to the file DISCLAIMER within this package.
*/
#pragma once
#ifndef _INCLUDED_MM2
#define _INCLUDED_MM2
#include <crtdefs.h>
#include <mmintrin.h>
typedef union _CRT_ALIGN(16) __m128
{
float m128_f32[4];
unsigned __int64 m128_u64[2];
__int8 m128_i8[16];
__int16 m128_i16[8];
__int32 m128_i32[4];
__int64 m128_i64[2];
unsigned __int8 m128_u8[16];
unsigned __int16 m128_u16[8];
unsigned __int32 m128_u32[4];
} __m128;
extern __m128 _mm_load_ss(float const*);
extern int _mm_cvt_ss2si(__m128);
/* Alternate names */
#define _mm_cvtss_si32 _mm_cvt_ss2si
#endif /* _INCLUDED_MM2 */