xopintrin.h revision 251662
1251662Sdim/*===---- xopintrin.h - XOP intrinsics -------------------------------------===
2239313Sdim *
3239313Sdim * Permission is hereby granted, free of charge, to any person obtaining a copy
4239313Sdim * of this software and associated documentation files (the "Software"), to deal
5239313Sdim * in the Software without restriction, including without limitation the rights
6239313Sdim * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7239313Sdim * copies of the Software, and to permit persons to whom the Software is
8239313Sdim * furnished to do so, subject to the following conditions:
9239313Sdim *
10239313Sdim * The above copyright notice and this permission notice shall be included in
11239313Sdim * all copies or substantial portions of the Software.
12239313Sdim *
13239313Sdim * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14239313Sdim * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15239313Sdim * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16239313Sdim * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17239313Sdim * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18239313Sdim * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19239313Sdim * THE SOFTWARE.
20239313Sdim *
21239313Sdim *===-----------------------------------------------------------------------===
22239313Sdim */
23239313Sdim
24239313Sdim#ifndef __X86INTRIN_H
25251662Sdim#error "Never use <xopintrin.h> directly; include <x86intrin.h> instead."
26239313Sdim#endif
27239313Sdim
28239313Sdim#ifndef __XOPINTRIN_H
29239313Sdim#define __XOPINTRIN_H
30239313Sdim
31239313Sdim#ifndef __XOP__
32239313Sdim# error "XOP instruction set is not enabled"
33239313Sdim#else
34239313Sdim
35239313Sdim#include <fma4intrin.h>
36239313Sdim
37239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
38239313Sdim_mm_maccs_epi16(__m128i __A, __m128i __B, __m128i __C)
39239313Sdim{
40239313Sdim  return (__m128i)__builtin_ia32_vpmacssww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
41239313Sdim}
42239313Sdim
43239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
44239313Sdim_mm_macc_epi16(__m128i __A, __m128i __B, __m128i __C)
45239313Sdim{
46239313Sdim  return (__m128i)__builtin_ia32_vpmacsww((__v8hi)__A, (__v8hi)__B, (__v8hi)__C);
47239313Sdim}
48239313Sdim
49239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
50239313Sdim_mm_maccsd_epi16(__m128i __A, __m128i __B, __m128i __C)
51239313Sdim{
52239313Sdim  return (__m128i)__builtin_ia32_vpmacsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
53239313Sdim}
54239313Sdim
55239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
56239313Sdim_mm_maccd_epi16(__m128i __A, __m128i __B, __m128i __C)
57239313Sdim{
58239313Sdim  return (__m128i)__builtin_ia32_vpmacswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
59239313Sdim}
60239313Sdim
61239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
62239313Sdim_mm_maccs_epi32(__m128i __A, __m128i __B, __m128i __C)
63239313Sdim{
64239313Sdim  return (__m128i)__builtin_ia32_vpmacssdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
65239313Sdim}
66239313Sdim
67239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
68239313Sdim_mm_macc_epi32(__m128i __A, __m128i __B, __m128i __C)
69239313Sdim{
70239313Sdim  return (__m128i)__builtin_ia32_vpmacsdd((__v4si)__A, (__v4si)__B, (__v4si)__C);
71239313Sdim}
72239313Sdim
73239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
74239313Sdim_mm_maccslo_epi32(__m128i __A, __m128i __B, __m128i __C)
75239313Sdim{
76239313Sdim  return (__m128i)__builtin_ia32_vpmacssdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
77239313Sdim}
78239313Sdim
79239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
80239313Sdim_mm_macclo_epi32(__m128i __A, __m128i __B, __m128i __C)
81239313Sdim{
82239313Sdim  return (__m128i)__builtin_ia32_vpmacsdql((__v4si)__A, (__v4si)__B, (__v2di)__C);
83239313Sdim}
84239313Sdim
85239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
86239313Sdim_mm_maccshi_epi32(__m128i __A, __m128i __B, __m128i __C)
87239313Sdim{
88239313Sdim  return (__m128i)__builtin_ia32_vpmacssdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
89239313Sdim}
90239313Sdim
91239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
92239313Sdim_mm_macchi_epi32(__m128i __A, __m128i __B, __m128i __C)
93239313Sdim{
94239313Sdim  return (__m128i)__builtin_ia32_vpmacsdqh((__v4si)__A, (__v4si)__B, (__v2di)__C);
95239313Sdim}
96239313Sdim
97239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
98239313Sdim_mm_maddsd_epi16(__m128i __A, __m128i __B, __m128i __C)
99239313Sdim{
100239313Sdim  return (__m128i)__builtin_ia32_vpmadcsswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
101239313Sdim}
102239313Sdim
103239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
104239313Sdim_mm_maddd_epi16(__m128i __A, __m128i __B, __m128i __C)
105239313Sdim{
106239313Sdim  return (__m128i)__builtin_ia32_vpmadcswd((__v8hi)__A, (__v8hi)__B, (__v4si)__C);
107239313Sdim}
108239313Sdim
109239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
110239313Sdim_mm_haddw_epi8(__m128i __A)
111239313Sdim{
112239313Sdim  return (__m128i)__builtin_ia32_vphaddbw((__v16qi)__A);
113239313Sdim}
114239313Sdim
115239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
116239313Sdim_mm_haddd_epi8(__m128i __A)
117239313Sdim{
118239313Sdim  return (__m128i)__builtin_ia32_vphaddbd((__v16qi)__A);
119239313Sdim}
120239313Sdim
121239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
122239313Sdim_mm_haddq_epi8(__m128i __A)
123239313Sdim{
124239313Sdim  return (__m128i)__builtin_ia32_vphaddbq((__v16qi)__A);
125239313Sdim}
126239313Sdim
127239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
128239313Sdim_mm_haddd_epi16(__m128i __A)
129239313Sdim{
130239313Sdim  return (__m128i)__builtin_ia32_vphaddwd((__v8hi)__A);
131239313Sdim}
132239313Sdim
133239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
134239313Sdim_mm_haddq_epi16(__m128i __A)
135239313Sdim{
136239313Sdim  return (__m128i)__builtin_ia32_vphaddwq((__v8hi)__A);
137239313Sdim}
138239313Sdim
139239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
140239313Sdim_mm_haddq_epi32(__m128i __A)
141239313Sdim{
142239313Sdim  return (__m128i)__builtin_ia32_vphadddq((__v4si)__A);
143239313Sdim}
144239313Sdim
145239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
146239313Sdim_mm_haddw_epu8(__m128i __A)
147239313Sdim{
148239313Sdim  return (__m128i)__builtin_ia32_vphaddubw((__v16qi)__A);
149239313Sdim}
150239313Sdim
151239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
152239313Sdim_mm_haddd_epu8(__m128i __A)
153239313Sdim{
154239313Sdim  return (__m128i)__builtin_ia32_vphaddubd((__v16qi)__A);
155239313Sdim}
156239313Sdim
157239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
158239313Sdim_mm_haddq_epu8(__m128i __A)
159239313Sdim{
160239313Sdim  return (__m128i)__builtin_ia32_vphaddubq((__v16qi)__A);
161239313Sdim}
162239313Sdim
163239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
164239313Sdim_mm_haddd_epu16(__m128i __A)
165239313Sdim{
166239313Sdim  return (__m128i)__builtin_ia32_vphadduwd((__v8hi)__A);
167239313Sdim}
168239313Sdim
169239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
170239313Sdim_mm_haddq_epu16(__m128i __A)
171239313Sdim{
172239313Sdim  return (__m128i)__builtin_ia32_vphadduwq((__v8hi)__A);
173239313Sdim}
174239313Sdim
175239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
176239313Sdim_mm_haddq_epu32(__m128i __A)
177239313Sdim{
178239313Sdim  return (__m128i)__builtin_ia32_vphaddudq((__v4si)__A);
179239313Sdim}
180239313Sdim
181239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
182239313Sdim_mm_hsubw_epi8(__m128i __A)
183239313Sdim{
184239313Sdim  return (__m128i)__builtin_ia32_vphsubbw((__v16qi)__A);
185239313Sdim}
186239313Sdim
187239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
188239313Sdim_mm_hsubd_epi16(__m128i __A)
189239313Sdim{
190239313Sdim  return (__m128i)__builtin_ia32_vphsubwd((__v8hi)__A);
191239313Sdim}
192239313Sdim
193239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
194239313Sdim_mm_hsubq_epi32(__m128i __A)
195239313Sdim{
196239313Sdim  return (__m128i)__builtin_ia32_vphsubdq((__v4si)__A);
197239313Sdim}
198239313Sdim
199239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
200239313Sdim_mm_cmov_si128(__m128i __A, __m128i __B, __m128i __C)
201239313Sdim{
202239313Sdim  return (__m128i)__builtin_ia32_vpcmov(__A, __B, __C);
203239313Sdim}
204239313Sdim
205239313Sdimstatic __inline__ __m256i __attribute__((__always_inline__, __nodebug__))
206239313Sdim_mm256_cmov_si256(__m256i __A, __m256i __B, __m256i __C)
207239313Sdim{
208239313Sdim  return (__m256i)__builtin_ia32_vpcmov_256(__A, __B, __C);
209239313Sdim}
210239313Sdim
211239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
212239313Sdim_mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
213239313Sdim{
214239313Sdim  return (__m128i)__builtin_ia32_vpperm((__v16qi)__A, (__v16qi)__B, (__v16qi)__C);
215239313Sdim}
216239313Sdim
217239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
218239313Sdim_mm_rot_epi8(__m128i __A, __m128i __B)
219239313Sdim{
220239313Sdim  return (__m128i)__builtin_ia32_vprotb((__v16qi)__A, (__v16qi)__B);
221239313Sdim}
222239313Sdim
223239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
224239313Sdim_mm_rot_epi16(__m128i __A, __m128i __B)
225239313Sdim{
226239313Sdim  return (__m128i)__builtin_ia32_vprotw((__v8hi)__A, (__v8hi)__B);
227239313Sdim}
228239313Sdim
229239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
230239313Sdim_mm_rot_epi32(__m128i __A, __m128i __B)
231239313Sdim{
232239313Sdim  return (__m128i)__builtin_ia32_vprotd((__v4si)__A, (__v4si)__B);
233239313Sdim}
234239313Sdim
235239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
236239313Sdim_mm_rot_epi64(__m128i __A, __m128i __B)
237239313Sdim{
238239313Sdim  return (__m128i)__builtin_ia32_vprotq((__v2di)__A, (__v2di)__B);
239239313Sdim}
240239313Sdim
241239313Sdim#define _mm_roti_epi8(A, N) __extension__ ({ \
242239313Sdim  __m128i __A = (A); \
243239313Sdim  (__m128i)__builtin_ia32_vprotbi((__v16qi)__A, (N)); })
244239313Sdim
245239313Sdim#define _mm_roti_epi16(A, N) __extension__ ({ \
246239313Sdim  __m128i __A = (A); \
247239313Sdim  (__m128i)__builtin_ia32_vprotwi((__v8hi)__A, (N)); })
248239313Sdim
249239313Sdim#define _mm_roti_epi32(A, N) __extension__ ({ \
250239313Sdim  __m128i __A = (A); \
251239313Sdim  (__m128i)__builtin_ia32_vprotdi((__v4si)__A, (N)); })
252239313Sdim
253239313Sdim#define _mm_roti_epi64(A, N) __extension__ ({ \
254239313Sdim  __m128i __A = (A); \
255239313Sdim  (__m128i)__builtin_ia32_vprotqi((__v2di)__A, (N)); })
256239313Sdim
257239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
258239313Sdim_mm_shl_epi8(__m128i __A, __m128i __B)
259239313Sdim{
260239313Sdim  return (__m128i)__builtin_ia32_vpshlb((__v16qi)__A, (__v16qi)__B);
261239313Sdim}
262239313Sdim
263239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
264239313Sdim_mm_shl_epi16(__m128i __A, __m128i __B)
265239313Sdim{
266239313Sdim  return (__m128i)__builtin_ia32_vpshlw((__v8hi)__A, (__v8hi)__B);
267239313Sdim}
268239313Sdim
269239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
270239313Sdim_mm_shl_epi32(__m128i __A, __m128i __B)
271239313Sdim{
272239313Sdim  return (__m128i)__builtin_ia32_vpshld((__v4si)__A, (__v4si)__B);
273239313Sdim}
274239313Sdim
275239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
276239313Sdim_mm_shl_epi64(__m128i __A, __m128i __B)
277239313Sdim{
278239313Sdim  return (__m128i)__builtin_ia32_vpshlq((__v2di)__A, (__v2di)__B);
279239313Sdim}
280239313Sdim
281239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
282239313Sdim_mm_sha_epi8(__m128i __A, __m128i __B)
283239313Sdim{
284239313Sdim  return (__m128i)__builtin_ia32_vpshab((__v16qi)__A, (__v16qi)__B);
285239313Sdim}
286239313Sdim
287239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
288239313Sdim_mm_sha_epi16(__m128i __A, __m128i __B)
289239313Sdim{
290239313Sdim  return (__m128i)__builtin_ia32_vpshaw((__v8hi)__A, (__v8hi)__B);
291239313Sdim}
292239313Sdim
293239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
294239313Sdim_mm_sha_epi32(__m128i __A, __m128i __B)
295239313Sdim{
296239313Sdim  return (__m128i)__builtin_ia32_vpshad((__v4si)__A, (__v4si)__B);
297239313Sdim}
298239313Sdim
299239313Sdimstatic __inline__ __m128i __attribute__((__always_inline__, __nodebug__))
300239313Sdim_mm_sha_epi64(__m128i __A, __m128i __B)
301239313Sdim{
302239313Sdim  return (__m128i)__builtin_ia32_vpshaq((__v2di)__A, (__v2di)__B);
303239313Sdim}
304239313Sdim
305239313Sdim#define _mm_com_epu8(A, B, N) __extension__ ({ \
306239313Sdim  __m128i __A = (A); \
307239313Sdim  __m128i __B = (B); \
308239313Sdim  (__m128i)__builtin_ia32_vpcomub((__v16qi)__A, (__v16qi)__B, (N)); })
309239313Sdim
310239313Sdim#define _mm_com_epu16(A, B, N) __extension__ ({ \
311239313Sdim  __m128i __A = (A); \
312239313Sdim  __m128i __B = (B); \
313239313Sdim  (__m128i)__builtin_ia32_vpcomuw((__v8hi)__A, (__v8hi)__B, (N)); })
314239313Sdim
315239313Sdim#define _mm_com_epu32(A, B, N) __extension__ ({ \
316239313Sdim  __m128i __A = (A); \
317239313Sdim  __m128i __B = (B); \
318239313Sdim  (__m128i)__builtin_ia32_vpcomud((__v4si)__A, (__v4si)__B, (N)); })
319239313Sdim
320239313Sdim#define _mm_com_epu64(A, B, N) __extension__ ({ \
321239313Sdim  __m128i __A = (A); \
322239313Sdim  __m128i __B = (B); \
323239313Sdim  (__m128i)__builtin_ia32_vpcomuq((__v2di)__A, (__v2di)__B, (N)); })
324239313Sdim
325239313Sdim#define _mm_com_epi8(A, B, N) __extension__ ({ \
326239313Sdim  __m128i __A = (A); \
327239313Sdim  __m128i __B = (B); \
328239313Sdim  (__m128i)__builtin_ia32_vpcomb((__v16qi)__A, (__v16qi)__B, (N)); })
329239313Sdim
330239313Sdim#define _mm_com_epi16(A, B, N) __extension__ ({ \
331239313Sdim  __m128i __A = (A); \
332239313Sdim  __m128i __B = (B); \
333239313Sdim  (__m128i)__builtin_ia32_vpcomw((__v8hi)__A, (__v8hi)__B, (N)); })
334239313Sdim
335239313Sdim#define _mm_com_epi32(A, B, N) __extension__ ({ \
336239313Sdim  __m128i __A = (A); \
337239313Sdim  __m128i __B = (B); \
338239313Sdim  (__m128i)__builtin_ia32_vpcomd((__v4si)__A, (__v4si)__B, (N)); })
339239313Sdim
340239313Sdim#define _mm_com_epi64(A, B, N) __extension__ ({ \
341239313Sdim  __m128i __A = (A); \
342239313Sdim  __m128i __B = (B); \
343239313Sdim  (__m128i)__builtin_ia32_vpcomq((__v2di)__A, (__v2di)__B, (N)); })
344239313Sdim
345239313Sdim#define _mm_permute2_pd(X, Y, C, I) __extension__ ({ \
346239313Sdim  __m128d __X = (X); \
347239313Sdim  __m128d __Y = (Y); \
348239313Sdim  __m128i __C = (C); \
349239313Sdim  (__m128d)__builtin_ia32_vpermil2pd((__v2df)__X, (__v2df)__Y, \
350239313Sdim                                     (__v2di)__C, (I)); })
351239313Sdim
352239313Sdim#define _mm256_permute2_pd(X, Y, C, I) __extension__ ({ \
353239313Sdim  __m256d __X = (X); \
354239313Sdim  __m256d __Y = (Y); \
355239313Sdim  __m256i __C = (C); \
356239313Sdim  (__m256d)__builtin_ia32_vpermil2pd256((__v4df)__X, (__v4df)__Y, \
357239313Sdim                                        (__v4di)__C, (I)); })
358239313Sdim
359239313Sdim#define _mm_permute2_ps(X, Y, C, I) __extension__ ({ \
360239313Sdim  __m128 __X = (X); \
361239313Sdim  __m128 __Y = (Y); \
362239313Sdim  __m128i __C = (C); \
363239313Sdim  (__m128)__builtin_ia32_vpermil2ps((__v4sf)__X, (__v4sf)__Y, \
364239313Sdim                                    (__v4si)__C, (I)); })
365239313Sdim
366239313Sdim#define _mm256_permute2_ps(X, Y, C, I) __extension__ ({ \
367239313Sdim  __m256 __X = (X); \
368239313Sdim  __m256 __Y = (Y); \
369239313Sdim  __m256i __C = (C); \
370239313Sdim  (__m256)__builtin_ia32_vpermil2ps256((__v8sf)__X, (__v8sf)__Y, \
371239313Sdim                                       (__v8si)__C, (I)); })
372239313Sdim
373239313Sdimstatic __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
374239313Sdim_mm_frcz_ss(__m128 __A)
375239313Sdim{
376239313Sdim  return (__m128)__builtin_ia32_vfrczss((__v4sf)__A);
377239313Sdim}
378239313Sdim
379239313Sdimstatic __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
380239313Sdim_mm_frcz_sd(__m128d __A)
381239313Sdim{
382239313Sdim  return (__m128d)__builtin_ia32_vfrczsd((__v2df)__A);
383239313Sdim}
384239313Sdim
385239313Sdimstatic __inline__ __m128 __attribute__((__always_inline__, __nodebug__))
386239313Sdim_mm_frcz_ps(__m128 __A)
387239313Sdim{
388239313Sdim  return (__m128)__builtin_ia32_vfrczps((__v4sf)__A);
389239313Sdim}
390239313Sdim
391239313Sdimstatic __inline__ __m128d __attribute__((__always_inline__, __nodebug__))
392239313Sdim_mm_frcz_pd(__m128d __A)
393239313Sdim{
394239313Sdim  return (__m128d)__builtin_ia32_vfrczpd((__v2df)__A);
395239313Sdim}
396239313Sdim
397239313Sdimstatic __inline__ __m256 __attribute__((__always_inline__, __nodebug__))
398239313Sdim_mm256_frcz_ps(__m256 __A)
399239313Sdim{
400239313Sdim  return (__m256)__builtin_ia32_vfrczps256((__v8sf)__A);
401239313Sdim}
402239313Sdim
403239313Sdimstatic __inline__ __m256d __attribute__((__always_inline__, __nodebug__))
404239313Sdim_mm256_frcz_pd(__m256d __A)
405239313Sdim{
406239313Sdim  return (__m256d)__builtin_ia32_vfrczpd256((__v4df)__A);
407239313Sdim}
408239313Sdim
409239313Sdim#endif /* __XOP__ */
410239313Sdim
411239313Sdim#endif /* __XOPINTRIN_H */
412