OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [config/] [i386/] [immintrin.h] - Blame information for rev 750

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 709 jeremybenn
/* Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
2
 
3
   This file is part of GCC.
4
 
5
   GCC is free software; you can redistribute it and/or modify
6
   it under the terms of the GNU General Public License as published by
7
   the Free Software Foundation; either version 3, or (at your option)
8
   any later version.
9
 
10
   GCC is distributed in the hope that it will be useful,
11
   but WITHOUT ANY WARRANTY; without even the implied warranty of
12
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
   GNU General Public License for more details.
14
 
15
   Under Section 7 of GPL version 3, you are granted additional
16
   permissions described in the GCC Runtime Library Exception, version
17
   3.1, as published by the Free Software Foundation.
18
 
19
   You should have received a copy of the GNU General Public License and
20
   a copy of the GCC Runtime Library Exception along with this program;
21
   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
22
   <http://www.gnu.org/licenses/>.  */
23
 
24
#ifndef _IMMINTRIN_H_INCLUDED
25
#define _IMMINTRIN_H_INCLUDED
26
 
27
#ifdef __MMX__
28
#include <mmintrin.h>
29
#endif
30
 
31
#ifdef __SSE__
32
#include <xmmintrin.h>
33
#endif
34
 
35
#ifdef __SSE2__
36
#include <emmintrin.h>
37
#endif
38
 
39
#ifdef __SSE3__
40
#include <pmmintrin.h>
41
#endif
42
 
43
#ifdef __SSSE3__
44
#include <tmmintrin.h>
45
#endif
46
 
47
#if defined (__SSE4_2__) || defined (__SSE4_1__)
48
#include <smmintrin.h>
49
#endif
50
 
51
#if defined (__AES__) || defined (__PCLMUL__)
52
#include <wmmintrin.h>
53
#endif
54
 
55
#ifdef __AVX__
56
#include <avxintrin.h>
57
#endif
58
 
59
#ifdef __AVX2__
60
#include <avx2intrin.h>
61
#endif
62
 
63
#ifdef __LZCNT__
64
#include <lzcntintrin.h>
65
#endif
66
 
67
#ifdef __BMI__
68
#include <bmiintrin.h>
69
#endif
70
 
71
#ifdef __BMI2__
72
#include <bmi2intrin.h>
73
#endif
74
 
75
#ifdef __FMA__
76
#include <fmaintrin.h>
77
#endif
78
 
79
#ifdef __F16C__
80
#include <f16cintrin.h>
81
#endif
82
 
83
#ifdef __RDRND__
84
extern __inline int
85
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
86
_rdrand16_step (unsigned short *__P)
87
{
88
  return __builtin_ia32_rdrand16_step (__P);
89
}
90
 
91
extern __inline int
92
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
93
_rdrand32_step (unsigned int *__P)
94
{
95
  return __builtin_ia32_rdrand32_step (__P);
96
}
97
#endif /* __RDRND__ */
98
 
99
#ifdef  __x86_64__
100
#ifdef __FSGSBASE__
101
extern __inline unsigned int
102
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
103
_readfsbase_u32 (void)
104
{
105
  return __builtin_ia32_rdfsbase32 ();
106
}
107
 
108
extern __inline unsigned long long
109
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
110
_readfsbase_u64 (void)
111
{
112
  return __builtin_ia32_rdfsbase64 ();
113
}
114
 
115
extern __inline unsigned int
116
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
117
_readgsbase_u32 (void)
118
{
119
  return __builtin_ia32_rdgsbase32 ();
120
}
121
 
122
extern __inline unsigned long long
123
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
124
_readgsbase_u64 (void)
125
{
126
  return __builtin_ia32_rdgsbase64 ();
127
}
128
 
129
extern __inline void
130
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
131
_writefsbase_u32 (unsigned int __B)
132
{
133
  __builtin_ia32_wrfsbase32 (__B);
134
}
135
 
136
extern __inline void
137
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
138
_writefsbase_u64 (unsigned long long __B)
139
{
140
  __builtin_ia32_wrfsbase64 (__B);
141
}
142
 
143
extern __inline void
144
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
145
_writegsbase_u32 (unsigned int __B)
146
{
147
  __builtin_ia32_wrgsbase32 (__B);
148
}
149
 
150
extern __inline void
151
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
152
_writegsbase_u64 (unsigned long long __B)
153
{
154
  __builtin_ia32_wrgsbase64 (__B);
155
}
156
#endif /* __FSGSBASE__ */
157
 
158
#ifdef __RDRND__
159
extern __inline int
160
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
161
_rdrand64_step (unsigned long long *__P)
162
{
163
  return __builtin_ia32_rdrand64_step (__P);
164
}
165
#endif /* __RDRND__ */
166
#endif /* __x86_64__  */
167
 
168
#endif /* _IMMINTRIN_H_INCLUDED */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.