~ubuntu-branches/ubuntu/vivid/emscripten/vivid-proposed

« back to all changes in this revision

Viewing changes to system/include/emscripten/emmintrin.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2014-01-19 14:12:40 UTC
  • mfrom: (4.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20140119141240-nfiw0p8033oitpfz
Tags: 1.9.0~20140119~7dc8c2f-1
* New snapshot release (Closes: #733714)
* Provide sources for javascript and flash. Done in orig-tar.sh
  Available in third_party/websockify/include/web-socket-js/src/
  (Closes: #735903)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <xmmintrin.h>
 
2
 
 
3
typedef int32x4 __m128i;
 
4
 
 
5
static __inline__ __m128i __attribute__((__always_inline__))
 
6
_mm_set_epi32(int z, int y, int x, int w)
 
7
{
 
8
  return (__m128i){ w, x, y, z };
 
9
}
 
10
 
 
11
static __inline__ __m128i __attribute__((__always_inline__))
 
12
_mm_set1_epi32(int w)
 
13
{
 
14
  return (__m128i){ w, w, w, w };
 
15
}
 
16
 
 
17
static __inline__ __m128i __attribute__((__always_inline__))
 
18
_mm_setzero_si128()
 
19
{
 
20
  return (__m128i){ 0, 0, 0, 0 };
 
21
}
 
22
 
 
23
static __inline__ void __attribute__((__always_inline__))
 
24
_mm_store_si128(__m128i *p, __m128i a)
 
25
{
 
26
  *p = a;
 
27
}
 
28
 
 
29
static __inline__ __m128i __attribute__((__always_inline__))
 
30
_mm_and_si128(__m128i a, __m128i b)
 
31
{
 
32
  return a & b;
 
33
}
 
34
 
 
35
static __inline__ __m128i __attribute__((__always_inline__))
 
36
_mm_andnot_si128(__m128i a, __m128i b)
 
37
{
 
38
  return ~a & b;
 
39
}
 
40
 
 
41
static __inline__ __m128i __attribute__((__always_inline__))
 
42
_mm_or_si128(__m128i a, __m128i b)
 
43
{
 
44
  return a | b;
 
45
}
 
46
 
 
47
static __inline__ __m128i __attribute__((__always_inline__))
 
48
_mm_xor_si128(__m128i a, __m128i b)
 
49
{
 
50
  return a ^ b;
 
51
}
 
52
 
 
53
static __inline__ __m128i __attribute__((__always_inline__))
 
54
_mm_add_epi32(__m128i a, __m128i b)
 
55
{
 
56
  return a + b;
 
57
}
 
58
 
 
59
static __inline__ __m128i __attribute__((__always_inline__))
 
60
_mm_sub_epi32(__m128i a, __m128i b)
 
61
{
 
62
  return a - b;
 
63
}
 
64
 
 
65
static __inline__ __m128 __attribute__((__always_inline__))
 
66
_mm_castsi128_ps(__m128i a)
 
67
{
 
68
  return emscripten_int32x4_bitsToFloat32x4(a);
 
69
}
 
70
 
 
71
static __inline__ __m128 __attribute__((__always_inline__))
 
72
_mm_cvtepi32_ps(__m128i a)
 
73
{
 
74
  return emscripten_int32x4_toFloat32x4(a);
 
75
}
 
76
 
 
77
static __inline__ __m128i __attribute__((__always_inline__))
 
78
_mm_castps_si128(__m128 a)
 
79
{
 
80
  return emscripten_float32x4_bitsToInt32x4(a);
 
81
}
 
82
 
 
83
static __inline__ __m128i __attribute__((__always_inline__))
 
84
_mm_cvtps_epi32(__m128 a)
 
85
{
 
86
  return emscripten_float32x4_toInt32x4(a);
 
87
}
 
 
b'\\ No newline at end of file'