1 -: 0:Source:/cm/shared/apps/gcc/4.3.4/lib/gcc/x86_64-unknown-linux-gnu/4.3.4/include/emmintrin.h
3 -: 1:/* Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
5 -: 3: This file is part of GCC.
7 -: 5: GCC is free software; you can redistribute it and/or modify
8 -: 6: it under the terms of the GNU General Public License as published by
9 -: 7: the Free Software Foundation; either version 2, or (at your option)
10 -: 8: any later version.
12 -: 10: GCC is distributed in the hope that it will be useful,
13 -: 11: but WITHOUT ANY WARRANTY; without even the implied warranty of
14 -: 12: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 -: 13: GNU General Public License for more details.
17 -: 15: You should have received a copy of the GNU General Public License
18 -: 16: along with GCC; see the file COPYING. If not, write to
19 -: 17: the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 -: 18: Boston, MA 02110-1301, USA. */
22 -: 20:/* As a special exception, if you include this header file into source
23 -: 21: files compiled by GCC, this header file does not by itself cause
24 -: 22: the resulting executable to be covered by the GNU General Public
25 -: 23: License. This exception does not however invalidate any other
26 -: 24: reasons why the executable file might be covered by the GNU General
27 -: 25: Public License. */
29 -: 27:/* Implemented from the specification included in the Intel C++ Compiler
30 -: 28: User Guide and Reference, version 9.0. */
32 -: 30:#ifndef _EMMINTRIN_H_INCLUDED
33 -: 31:#define _EMMINTRIN_H_INCLUDED
35 -: 33:#ifndef __SSE2__
36 -: 34:# error "SSE2 instruction set not enabled"
39 -: 37:/* We need definitions from the SSE header files*/
40 -: 38:#include <xmmintrin.h>
43 -: 41:typedef double __v2df __attribute__ ((__vector_size__ (16)));
44 -: 42:typedef long long __v2di __attribute__ ((__vector_size__ (16)));
45 -: 43:typedef int __v4si __attribute__ ((__vector_size__ (16)));
46 -: 44:typedef short __v8hi __attribute__ ((__vector_size__ (16)));
47 -: 45:typedef char __v16qi __attribute__ ((__vector_size__ (16)));
49 -: 47:/* The Intel API is flexible enough that we must allow aliasing with other
50 -: 48: vector types, and their scalar components. */
51 -: 49:typedef long long __m128i __attribute__ ((__vector_size__ (16), __may_alias__));
52 -: 50:typedef double __m128d __attribute__ ((__vector_size__ (16), __may_alias__));
54 -: 52:/* Create a selector for use with the SHUFPD instruction. */
55 -: 53:#define _MM_SHUFFLE2(fp1,fp0) \
56 -: 54: (((fp1) << 1) | (fp0))
58 -: 56:/* Create a vector with element 0 as F and the rest zero. */
59 -: 57:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
60 -: 58:_mm_set_sd (double __F)
62 -: 60: return __extension__ (__m128d){ __F, 0.0 };
65 -: 63:/* Create a vector with both elements equal to F. */
66 -: 64:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
67 -: 65:_mm_set1_pd (double __F)
69 -: 67: return __extension__ (__m128d){ __F, __F };
72 -: 70:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
73 -: 71:_mm_set_pd1 (double __F)
75 -: 73: return _mm_set1_pd (__F);
78 -: 76:/* Create a vector with the lower value X and upper value W. */
79 -: 77:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
80 -: 78:_mm_set_pd (double __W, double __X)
82 -: 80: return __extension__ (__m128d){ __X, __W };
85 -: 83:/* Create a vector with the lower value W and upper value X. */
86 -: 84:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
87 -: 85:_mm_setr_pd (double __W, double __X)
89 -: 87: return __extension__ (__m128d){ __W, __X };
92 -: 90:/* Create a vector of zeros. */
93 -: 91:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
94 -: 92:_mm_setzero_pd (void)
96 -: 94: return __extension__ (__m128d){ 0.0, 0.0 };
99 -: 97:/* Sets the low DPFP value of A from the low value of B. */
100 -: 98:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
101 -: 99:_mm_move_sd (__m128d __A, __m128d __B)
103 -: 101: return (__m128d) __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
106 -: 104:/* Load two DPFP values from P. The address must be 16-byte aligned. */
107 -: 105:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
108 -: 106:_mm_load_pd (double const *__P)
110 -: 108: return *(__m128d *)__P;
113 -: 111:/* Load two DPFP values from P. The address need not be 16-byte aligned. */
114 -: 112:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
115 -: 113:_mm_loadu_pd (double const *__P)
117 -: 115: return __builtin_ia32_loadupd (__P);
120 -: 118:/* Create a vector with all two elements equal to *P. */
121 -: 119:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
122 -: 120:_mm_load1_pd (double const *__P)
124 -: 122: return _mm_set1_pd (*__P);
127 -: 125:/* Create a vector with element 0 as *P and the rest zero. */
128 -: 126:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
129 -: 127:_mm_load_sd (double const *__P)
131 -: 129: return _mm_set_sd (*__P);
134 -: 132:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
135 -: 133:_mm_load_pd1 (double const *__P)
137 -: 135: return _mm_load1_pd (__P);
140 -: 138:/* Load two DPFP values in reverse order. The address must be aligned. */
141 -: 139:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
142 -: 140:_mm_loadr_pd (double const *__P)
144 -: 142: __m128d __tmp = _mm_load_pd (__P);
145 -: 143: return __builtin_ia32_shufpd (__tmp, __tmp, _MM_SHUFFLE2 (0,1));
148 -: 146:/* Store two DPFP values. The address must be 16-byte aligned. */
149 -: 147:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
150 -: 148:_mm_store_pd (double *__P, __m128d __A)
152 -: 150: *(__m128d *)__P = __A;
155 -: 153:/* Store two DPFP values. The address need not be 16-byte aligned. */
156 -: 154:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
157 -: 155:_mm_storeu_pd (double *__P, __m128d __A)
159 -: 157: __builtin_ia32_storeupd (__P, __A);
162 -: 160:/* Stores the lower DPFP value. */
163 -: 161:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
164 -: 162:_mm_store_sd (double *__P, __m128d __A)
166 -: 164: *__P = __builtin_ia32_vec_ext_v2df (__A, 0);
169 -: 167:extern __inline double __attribute__((__gnu_inline__, __always_inline__, __artificial__))
170 -: 168:_mm_cvtsd_f64 (__m128d __A)
172 -: 170: return __builtin_ia32_vec_ext_v2df (__A, 0);
175 -: 173:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
176 -: 174:_mm_storel_pd (double *__P, __m128d __A)
178 -: 176: _mm_store_sd (__P, __A);
181 -: 179:/* Stores the upper DPFP value. */
182 -: 180:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
183 -: 181:_mm_storeh_pd (double *__P, __m128d __A)
185 -: 183: *__P = __builtin_ia32_vec_ext_v2df (__A, 1);
188 -: 186:/* Store the lower DPFP value across two words.
189 -: 187: The address must be 16-byte aligned. */
190 -: 188:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
191 -: 189:_mm_store1_pd (double *__P, __m128d __A)
193 -: 191: _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,0)));
196 -: 194:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
197 -: 195:_mm_store_pd1 (double *__P, __m128d __A)
199 -: 197: _mm_store1_pd (__P, __A);
202 -: 200:/* Store two DPFP values in reverse order. The address must be aligned. */
203 -: 201:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
204 -: 202:_mm_storer_pd (double *__P, __m128d __A)
206 -: 204: _mm_store_pd (__P, __builtin_ia32_shufpd (__A, __A, _MM_SHUFFLE2 (0,1)));
209 -: 207:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
210 -: 208:_mm_cvtsi128_si32 (__m128i __A)
212 -: 210: return __builtin_ia32_vec_ext_v4si ((__v4si)__A, 0);
215 -: 213:#ifdef __x86_64__
216 -: 214:/* Intel intrinsic. */
217 -: 215:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
218 -: 216:_mm_cvtsi128_si64 (__m128i __A)
220 -: 218: return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
223 -: 221:/* Microsoft intrinsic. */
224 -: 222:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
225 -: 223:_mm_cvtsi128_si64x (__m128i __A)
227 -: 225: return __builtin_ia32_vec_ext_v2di ((__v2di)__A, 0);
231 -: 229:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
232 -: 230:_mm_add_pd (__m128d __A, __m128d __B)
234 -: 232: return (__m128d)__builtin_ia32_addpd ((__v2df)__A, (__v2df)__B);
237 -: 235:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
238 -: 236:_mm_add_sd (__m128d __A, __m128d __B)
240 -: 238: return (__m128d)__builtin_ia32_addsd ((__v2df)__A, (__v2df)__B);
243 -: 241:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
244 -: 242:_mm_sub_pd (__m128d __A, __m128d __B)
246 -: 244: return (__m128d)__builtin_ia32_subpd ((__v2df)__A, (__v2df)__B);
249 -: 247:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
250 -: 248:_mm_sub_sd (__m128d __A, __m128d __B)
252 -: 250: return (__m128d)__builtin_ia32_subsd ((__v2df)__A, (__v2df)__B);
255 -: 253:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
256 -: 254:_mm_mul_pd (__m128d __A, __m128d __B)
258 -: 256: return (__m128d)__builtin_ia32_mulpd ((__v2df)__A, (__v2df)__B);
261 -: 259:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
262 -: 260:_mm_mul_sd (__m128d __A, __m128d __B)
264 -: 262: return (__m128d)__builtin_ia32_mulsd ((__v2df)__A, (__v2df)__B);
267 -: 265:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
268 -: 266:_mm_div_pd (__m128d __A, __m128d __B)
270 -: 268: return (__m128d)__builtin_ia32_divpd ((__v2df)__A, (__v2df)__B);
273 -: 271:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
274 -: 272:_mm_div_sd (__m128d __A, __m128d __B)
276 -: 274: return (__m128d)__builtin_ia32_divsd ((__v2df)__A, (__v2df)__B);
279 -: 277:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
280 -: 278:_mm_sqrt_pd (__m128d __A)
282 -: 280: return (__m128d)__builtin_ia32_sqrtpd ((__v2df)__A);
285 -: 283:/* Return pair {sqrt (A[0), B[1]}. */
286 -: 284:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
287 -: 285:_mm_sqrt_sd (__m128d __A, __m128d __B)
289 -: 287: __v2df __tmp = __builtin_ia32_movsd ((__v2df)__A, (__v2df)__B);
290 -: 288: return (__m128d)__builtin_ia32_sqrtsd ((__v2df)__tmp);
293 -: 291:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
294 -: 292:_mm_min_pd (__m128d __A, __m128d __B)
296 -: 294: return (__m128d)__builtin_ia32_minpd ((__v2df)__A, (__v2df)__B);
299 -: 297:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
300 -: 298:_mm_min_sd (__m128d __A, __m128d __B)
302 -: 300: return (__m128d)__builtin_ia32_minsd ((__v2df)__A, (__v2df)__B);
305 -: 303:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
306 -: 304:_mm_max_pd (__m128d __A, __m128d __B)
308 -: 306: return (__m128d)__builtin_ia32_maxpd ((__v2df)__A, (__v2df)__B);
311 -: 309:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
312 -: 310:_mm_max_sd (__m128d __A, __m128d __B)
314 -: 312: return (__m128d)__builtin_ia32_maxsd ((__v2df)__A, (__v2df)__B);
317 -: 315:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
318 -: 316:_mm_and_pd (__m128d __A, __m128d __B)
320 -: 318: return (__m128d)__builtin_ia32_andpd ((__v2df)__A, (__v2df)__B);
323 -: 321:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
324 -: 322:_mm_andnot_pd (__m128d __A, __m128d __B)
326 -: 324: return (__m128d)__builtin_ia32_andnpd ((__v2df)__A, (__v2df)__B);
329 -: 327:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
330 -: 328:_mm_or_pd (__m128d __A, __m128d __B)
332 -: 330: return (__m128d)__builtin_ia32_orpd ((__v2df)__A, (__v2df)__B);
335 -: 333:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
336 -: 334:_mm_xor_pd (__m128d __A, __m128d __B)
338 -: 336: return (__m128d)__builtin_ia32_xorpd ((__v2df)__A, (__v2df)__B);
341 -: 339:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
342 -: 340:_mm_cmpeq_pd (__m128d __A, __m128d __B)
344 -: 342: return (__m128d)__builtin_ia32_cmpeqpd ((__v2df)__A, (__v2df)__B);
347 -: 345:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
348 -: 346:_mm_cmplt_pd (__m128d __A, __m128d __B)
350 -: 348: return (__m128d)__builtin_ia32_cmpltpd ((__v2df)__A, (__v2df)__B);
353 -: 351:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
354 -: 352:_mm_cmple_pd (__m128d __A, __m128d __B)
356 -: 354: return (__m128d)__builtin_ia32_cmplepd ((__v2df)__A, (__v2df)__B);
359 -: 357:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
360 -: 358:_mm_cmpgt_pd (__m128d __A, __m128d __B)
362 -: 360: return (__m128d)__builtin_ia32_cmpgtpd ((__v2df)__A, (__v2df)__B);
365 -: 363:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
366 -: 364:_mm_cmpge_pd (__m128d __A, __m128d __B)
368 -: 366: return (__m128d)__builtin_ia32_cmpgepd ((__v2df)__A, (__v2df)__B);
371 -: 369:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
372 -: 370:_mm_cmpneq_pd (__m128d __A, __m128d __B)
374 -: 372: return (__m128d)__builtin_ia32_cmpneqpd ((__v2df)__A, (__v2df)__B);
377 -: 375:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
378 -: 376:_mm_cmpnlt_pd (__m128d __A, __m128d __B)
380 -: 378: return (__m128d)__builtin_ia32_cmpnltpd ((__v2df)__A, (__v2df)__B);
383 -: 381:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
384 -: 382:_mm_cmpnle_pd (__m128d __A, __m128d __B)
386 -: 384: return (__m128d)__builtin_ia32_cmpnlepd ((__v2df)__A, (__v2df)__B);
389 -: 387:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
390 -: 388:_mm_cmpngt_pd (__m128d __A, __m128d __B)
392 -: 390: return (__m128d)__builtin_ia32_cmpngtpd ((__v2df)__A, (__v2df)__B);
395 -: 393:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
396 -: 394:_mm_cmpnge_pd (__m128d __A, __m128d __B)
398 -: 396: return (__m128d)__builtin_ia32_cmpngepd ((__v2df)__A, (__v2df)__B);
401 -: 399:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
402 -: 400:_mm_cmpord_pd (__m128d __A, __m128d __B)
404 -: 402: return (__m128d)__builtin_ia32_cmpordpd ((__v2df)__A, (__v2df)__B);
407 -: 405:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
408 -: 406:_mm_cmpunord_pd (__m128d __A, __m128d __B)
410 -: 408: return (__m128d)__builtin_ia32_cmpunordpd ((__v2df)__A, (__v2df)__B);
413 -: 411:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
414 -: 412:_mm_cmpeq_sd (__m128d __A, __m128d __B)
416 -: 414: return (__m128d)__builtin_ia32_cmpeqsd ((__v2df)__A, (__v2df)__B);
419 -: 417:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
420 -: 418:_mm_cmplt_sd (__m128d __A, __m128d __B)
422 -: 420: return (__m128d)__builtin_ia32_cmpltsd ((__v2df)__A, (__v2df)__B);
425 -: 423:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
426 -: 424:_mm_cmple_sd (__m128d __A, __m128d __B)
428 -: 426: return (__m128d)__builtin_ia32_cmplesd ((__v2df)__A, (__v2df)__B);
431 -: 429:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
432 -: 430:_mm_cmpgt_sd (__m128d __A, __m128d __B)
434 -: 432: return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
436 -: 434: __builtin_ia32_cmpltsd ((__v2df) __B,
441 -: 439:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
442 -: 440:_mm_cmpge_sd (__m128d __A, __m128d __B)
444 -: 442: return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
446 -: 444: __builtin_ia32_cmplesd ((__v2df) __B,
451 -: 449:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
452 -: 450:_mm_cmpneq_sd (__m128d __A, __m128d __B)
454 -: 452: return (__m128d)__builtin_ia32_cmpneqsd ((__v2df)__A, (__v2df)__B);
457 -: 455:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
458 -: 456:_mm_cmpnlt_sd (__m128d __A, __m128d __B)
460 -: 458: return (__m128d)__builtin_ia32_cmpnltsd ((__v2df)__A, (__v2df)__B);
463 -: 461:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
464 -: 462:_mm_cmpnle_sd (__m128d __A, __m128d __B)
466 -: 464: return (__m128d)__builtin_ia32_cmpnlesd ((__v2df)__A, (__v2df)__B);
469 -: 467:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
470 -: 468:_mm_cmpngt_sd (__m128d __A, __m128d __B)
472 -: 470: return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
474 -: 472: __builtin_ia32_cmpnltsd ((__v2df) __B,
479 -: 477:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
480 -: 478:_mm_cmpnge_sd (__m128d __A, __m128d __B)
482 -: 480: return (__m128d) __builtin_ia32_movsd ((__v2df) __A,
484 -: 482: __builtin_ia32_cmpnlesd ((__v2df) __B,
489 -: 487:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
490 -: 488:_mm_cmpord_sd (__m128d __A, __m128d __B)
492 -: 490: return (__m128d)__builtin_ia32_cmpordsd ((__v2df)__A, (__v2df)__B);
495 -: 493:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
496 -: 494:_mm_cmpunord_sd (__m128d __A, __m128d __B)
498 -: 496: return (__m128d)__builtin_ia32_cmpunordsd ((__v2df)__A, (__v2df)__B);
501 -: 499:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
502 -: 500:_mm_comieq_sd (__m128d __A, __m128d __B)
504 -: 502: return __builtin_ia32_comisdeq ((__v2df)__A, (__v2df)__B);
507 -: 505:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
508 -: 506:_mm_comilt_sd (__m128d __A, __m128d __B)
510 -: 508: return __builtin_ia32_comisdlt ((__v2df)__A, (__v2df)__B);
513 -: 511:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
514 -: 512:_mm_comile_sd (__m128d __A, __m128d __B)
516 -: 514: return __builtin_ia32_comisdle ((__v2df)__A, (__v2df)__B);
519 -: 517:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
520 -: 518:_mm_comigt_sd (__m128d __A, __m128d __B)
522 -: 520: return __builtin_ia32_comisdgt ((__v2df)__A, (__v2df)__B);
525 -: 523:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
526 -: 524:_mm_comige_sd (__m128d __A, __m128d __B)
528 -: 526: return __builtin_ia32_comisdge ((__v2df)__A, (__v2df)__B);
531 -: 529:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
532 -: 530:_mm_comineq_sd (__m128d __A, __m128d __B)
534 -: 532: return __builtin_ia32_comisdneq ((__v2df)__A, (__v2df)__B);
537 -: 535:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
538 -: 536:_mm_ucomieq_sd (__m128d __A, __m128d __B)
540 -: 538: return __builtin_ia32_ucomisdeq ((__v2df)__A, (__v2df)__B);
543 -: 541:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
544 -: 542:_mm_ucomilt_sd (__m128d __A, __m128d __B)
546 -: 544: return __builtin_ia32_ucomisdlt ((__v2df)__A, (__v2df)__B);
549 -: 547:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
550 -: 548:_mm_ucomile_sd (__m128d __A, __m128d __B)
552 -: 550: return __builtin_ia32_ucomisdle ((__v2df)__A, (__v2df)__B);
555 -: 553:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
556 -: 554:_mm_ucomigt_sd (__m128d __A, __m128d __B)
558 -: 556: return __builtin_ia32_ucomisdgt ((__v2df)__A, (__v2df)__B);
561 -: 559:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
562 -: 560:_mm_ucomige_sd (__m128d __A, __m128d __B)
564 -: 562: return __builtin_ia32_ucomisdge ((__v2df)__A, (__v2df)__B);
567 -: 565:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
568 -: 566:_mm_ucomineq_sd (__m128d __A, __m128d __B)
570 -: 568: return __builtin_ia32_ucomisdneq ((__v2df)__A, (__v2df)__B);
573 -: 571:/* Create a vector of Qi, where i is the element number. */
575 -: 573:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
576 -: 574:_mm_set_epi64x (long long __q1, long long __q0)
578 -: 576: return __extension__ (__m128i)(__v2di){ __q0, __q1 };
581 -: 579:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
582 -: 580:_mm_set_epi64 (__m64 __q1, __m64 __q0)
584 -: 582: return _mm_set_epi64x ((long long)__q1, (long long)__q0);
587 -: 585:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
588 -: 586:_mm_set_epi32 (int __q3, int __q2, int __q1, int __q0)
590 -: 588: return __extension__ (__m128i)(__v4si){ __q0, __q1, __q2, __q3 };
593 -: 591:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
594 -: 592:_mm_set_epi16 (short __q7, short __q6, short __q5, short __q4,
595 -: 593: short __q3, short __q2, short __q1, short __q0)
597 -: 595: return __extension__ (__m128i)(__v8hi){
598 -: 596: __q0, __q1, __q2, __q3, __q4, __q5, __q6, __q7 };
601 -: 599:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
602 -: 600:_mm_set_epi8 (char __q15, char __q14, char __q13, char __q12,
603 -: 601: char __q11, char __q10, char __q09, char __q08,
604 -: 602: char __q07, char __q06, char __q05, char __q04,
605 -: 603: char __q03, char __q02, char __q01, char __q00)
607 -: 605: return __extension__ (__m128i)(__v16qi){
608 -: 606: __q00, __q01, __q02, __q03, __q04, __q05, __q06, __q07,
609 -: 607: __q08, __q09, __q10, __q11, __q12, __q13, __q14, __q15
613 -: 611:/* Set all of the elements of the vector to A. */
615 -: 613:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
616 -: 614:_mm_set1_epi64x (long long __A)
618 -: 616: return _mm_set_epi64x (__A, __A);
621 -: 619:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
622 -: 620:_mm_set1_epi64 (__m64 __A)
624 -: 622: return _mm_set_epi64 (__A, __A);
627 -: 625:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
628 -: 626:_mm_set1_epi32 (int __A)
630 -: 628: return _mm_set_epi32 (__A, __A, __A, __A);
633 -: 631:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
634 -: 632:_mm_set1_epi16 (short __A)
636 -: 634: return _mm_set_epi16 (__A, __A, __A, __A, __A, __A, __A, __A);
639 -: 637:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
640 -: 638:_mm_set1_epi8 (char __A)
642 -: 640: return _mm_set_epi8 (__A, __A, __A, __A, __A, __A, __A, __A,
643 -: 641: __A, __A, __A, __A, __A, __A, __A, __A);
646 -: 644:/* Create a vector of Qi, where i is the element number.
647 -: 645: The parameter order is reversed from the _mm_set_epi* functions. */
649 -: 647:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
650 -: 648:_mm_setr_epi64 (__m64 __q0, __m64 __q1)
652 -: 650: return _mm_set_epi64 (__q1, __q0);
655 -: 653:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
656 -: 654:_mm_setr_epi32 (int __q0, int __q1, int __q2, int __q3)
658 -: 656: return _mm_set_epi32 (__q3, __q2, __q1, __q0);
661 -: 659:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
662 -: 660:_mm_setr_epi16 (short __q0, short __q1, short __q2, short __q3,
663 -: 661: short __q4, short __q5, short __q6, short __q7)
665 -: 663: return _mm_set_epi16 (__q7, __q6, __q5, __q4, __q3, __q2, __q1, __q0);
668 -: 666:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
669 -: 667:_mm_setr_epi8 (char __q00, char __q01, char __q02, char __q03,
670 -: 668: char __q04, char __q05, char __q06, char __q07,
671 -: 669: char __q08, char __q09, char __q10, char __q11,
672 -: 670: char __q12, char __q13, char __q14, char __q15)
674 -: 672: return _mm_set_epi8 (__q15, __q14, __q13, __q12, __q11, __q10, __q09, __q08,
675 -: 673: __q07, __q06, __q05, __q04, __q03, __q02, __q01, __q00);
678 -: 676:/* Create a vector with element 0 as *P and the rest zero. */
680 -: 678:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
681 -: 679:_mm_load_si128 (__m128i const *__P)
686 -: 684:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
687 -: 685:_mm_loadu_si128 (__m128i const *__P)
689 -: 687: return (__m128i) __builtin_ia32_loaddqu ((char const *)__P);
692 -: 690:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
693 -: 691:_mm_loadl_epi64 (__m128i const *__P)
695 -: 693: return _mm_set_epi64 ((__m64)0LL, *(__m64 *)__P);
698 -: 696:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
699 -: 697:_mm_store_si128 (__m128i *__P, __m128i __B)
704 -: 702:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
705 -: 703:_mm_storeu_si128 (__m128i *__P, __m128i __B)
707 -: 705: __builtin_ia32_storedqu ((char *)__P, (__v16qi)__B);
710 -: 708:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
711 -: 709:_mm_storel_epi64 (__m128i *__P, __m128i __B)
713 -: 711: *(long long *)__P = __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
716 -: 714:extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
717 -: 715:_mm_movepi64_pi64 (__m128i __B)
719 -: 717: return (__m64) __builtin_ia32_vec_ext_v2di ((__v2di)__B, 0);
722 -: 720:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
723 -: 721:_mm_movpi64_epi64 (__m64 __A)
725 -: 723: return _mm_set_epi64 ((__m64)0LL, __A);
728 -: 726:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
729 -: 727:_mm_move_epi64 (__m128i __A)
731 -: 729: return _mm_set_epi64 ((__m64)0LL, _mm_movepi64_pi64 (__A));
734 -: 732:/* Create a vector of zeros. */
735 -: 733:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
736 -: 734:_mm_setzero_si128 (void)
738 43292: 736: return __extension__ (__m128i)(__v4si){ 0, 0, 0, 0 };
741 -: 739:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
742 -: 740:_mm_cvtepi32_pd (__m128i __A)
744 -: 742: return (__m128d)__builtin_ia32_cvtdq2pd ((__v4si) __A);
747 -: 745:extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
748 -: 746:_mm_cvtepi32_ps (__m128i __A)
750 -: 748: return (__m128)__builtin_ia32_cvtdq2ps ((__v4si) __A);
753 -: 751:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
754 -: 752:_mm_cvtpd_epi32 (__m128d __A)
756 -: 754: return (__m128i)__builtin_ia32_cvtpd2dq ((__v2df) __A);
759 -: 757:extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
760 -: 758:_mm_cvtpd_pi32 (__m128d __A)
762 -: 760: return (__m64)__builtin_ia32_cvtpd2pi ((__v2df) __A);
765 -: 763:extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
766 -: 764:_mm_cvtpd_ps (__m128d __A)
768 -: 766: return (__m128)__builtin_ia32_cvtpd2ps ((__v2df) __A);
771 -: 769:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
772 -: 770:_mm_cvttpd_epi32 (__m128d __A)
774 -: 772: return (__m128i)__builtin_ia32_cvttpd2dq ((__v2df) __A);
777 -: 775:extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
778 -: 776:_mm_cvttpd_pi32 (__m128d __A)
780 -: 778: return (__m64)__builtin_ia32_cvttpd2pi ((__v2df) __A);
783 -: 781:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
784 -: 782:_mm_cvtpi32_pd (__m64 __A)
786 -: 784: return (__m128d)__builtin_ia32_cvtpi2pd ((__v2si) __A);
789 -: 787:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
790 -: 788:_mm_cvtps_epi32 (__m128 __A)
792 -: 790: return (__m128i)__builtin_ia32_cvtps2dq ((__v4sf) __A);
795 -: 793:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
796 -: 794:_mm_cvttps_epi32 (__m128 __A)
798 -: 796: return (__m128i)__builtin_ia32_cvttps2dq ((__v4sf) __A);
801 -: 799:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
802 -: 800:_mm_cvtps_pd (__m128 __A)
804 -: 802: return (__m128d)__builtin_ia32_cvtps2pd ((__v4sf) __A);
807 -: 805:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
808 -: 806:_mm_cvtsd_si32 (__m128d __A)
810 -: 808: return __builtin_ia32_cvtsd2si ((__v2df) __A);
813 -: 811:#ifdef __x86_64__
814 -: 812:/* Intel intrinsic. */
815 -: 813:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
816 -: 814:_mm_cvtsd_si64 (__m128d __A)
818 -: 816: return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
821 -: 819:/* Microsoft intrinsic. */
822 -: 820:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
823 -: 821:_mm_cvtsd_si64x (__m128d __A)
825 -: 823: return __builtin_ia32_cvtsd2si64 ((__v2df) __A);
829 -: 827:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
830 -: 828:_mm_cvttsd_si32 (__m128d __A)
832 -: 830: return __builtin_ia32_cvttsd2si ((__v2df) __A);
835 -: 833:#ifdef __x86_64__
836 -: 834:/* Intel intrinsic. */
837 -: 835:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
838 -: 836:_mm_cvttsd_si64 (__m128d __A)
840 -: 838: return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
843 -: 841:/* Microsoft intrinsic. */
844 -: 842:extern __inline long long __attribute__((__gnu_inline__, __always_inline__, __artificial__))
845 -: 843:_mm_cvttsd_si64x (__m128d __A)
847 -: 845: return __builtin_ia32_cvttsd2si64 ((__v2df) __A);
851 -: 849:extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
852 -: 850:_mm_cvtsd_ss (__m128 __A, __m128d __B)
854 -: 852: return (__m128)__builtin_ia32_cvtsd2ss ((__v4sf) __A, (__v2df) __B);
857 -: 855:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
858 -: 856:_mm_cvtsi32_sd (__m128d __A, int __B)
860 -: 858: return (__m128d)__builtin_ia32_cvtsi2sd ((__v2df) __A, __B);
863 -: 861:#ifdef __x86_64__
864 -: 862:/* Intel intrinsic. */
865 -: 863:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
866 -: 864:_mm_cvtsi64_sd (__m128d __A, long long __B)
868 -: 866: return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
871 -: 869:/* Microsoft intrinsic. */
872 -: 870:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
873 -: 871:_mm_cvtsi64x_sd (__m128d __A, long long __B)
875 -: 873: return (__m128d)__builtin_ia32_cvtsi642sd ((__v2df) __A, __B);
879 -: 877:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
880 -: 878:_mm_cvtss_sd (__m128d __A, __m128 __B)
882 -: 880: return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
885 -: 883:#ifdef __OPTIMIZE__
886 -: 884:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
887 -: 885:_mm_shuffle_pd(__m128d __A, __m128d __B, const int __mask)
889 -: 887: return (__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, __mask);
892 -: 890:#define _mm_shuffle_pd(A, B, N) \
893 -: 891: ((__m128d)__builtin_ia32_shufpd ((__v2df)(__m128d)(A), \
894 -: 892: (__v2df)(__m128d)(B), (int)(N)))
897 -: 895:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
898 -: 896:_mm_unpackhi_pd (__m128d __A, __m128d __B)
900 -: 898: return (__m128d)__builtin_ia32_unpckhpd ((__v2df)__A, (__v2df)__B);
903 -: 901:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
904 -: 902:_mm_unpacklo_pd (__m128d __A, __m128d __B)
906 -: 904: return (__m128d)__builtin_ia32_unpcklpd ((__v2df)__A, (__v2df)__B);
909 -: 907:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
910 -: 908:_mm_loadh_pd (__m128d __A, double const *__B)
912 -: 910: return (__m128d)__builtin_ia32_loadhpd ((__v2df)__A, __B);
915 -: 913:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
916 -: 914:_mm_loadl_pd (__m128d __A, double const *__B)
918 -: 916: return (__m128d)__builtin_ia32_loadlpd ((__v2df)__A, __B);
921 -: 919:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
922 -: 920:_mm_movemask_pd (__m128d __A)
924 -: 922: return __builtin_ia32_movmskpd ((__v2df)__A);
927 -: 925:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
928 -: 926:_mm_packs_epi16 (__m128i __A, __m128i __B)
930 -: 928: return (__m128i)__builtin_ia32_packsswb128 ((__v8hi)__A, (__v8hi)__B);
933 -: 931:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
934 -: 932:_mm_packs_epi32 (__m128i __A, __m128i __B)
936 -: 934: return (__m128i)__builtin_ia32_packssdw128 ((__v4si)__A, (__v4si)__B);
939 -: 937:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
940 -: 938:_mm_packus_epi16 (__m128i __A, __m128i __B)
942 -: 940: return (__m128i)__builtin_ia32_packuswb128 ((__v8hi)__A, (__v8hi)__B);
945 -: 943:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
946 -: 944:_mm_unpackhi_epi8 (__m128i __A, __m128i __B)
948 -: 946: return (__m128i)__builtin_ia32_punpckhbw128 ((__v16qi)__A, (__v16qi)__B);
951 -: 949:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
952 -: 950:_mm_unpackhi_epi16 (__m128i __A, __m128i __B)
954 -: 952: return (__m128i)__builtin_ia32_punpckhwd128 ((__v8hi)__A, (__v8hi)__B);
957 -: 955:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
958 -: 956:_mm_unpackhi_epi32 (__m128i __A, __m128i __B)
960 -: 958: return (__m128i)__builtin_ia32_punpckhdq128 ((__v4si)__A, (__v4si)__B);
963 -: 961:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
964 -: 962:_mm_unpackhi_epi64 (__m128i __A, __m128i __B)
966 -: 964: return (__m128i)__builtin_ia32_punpckhqdq128 ((__v2di)__A, (__v2di)__B);
969 -: 967:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
970 -: 968:_mm_unpacklo_epi8 (__m128i __A, __m128i __B)
972 -: 970: return (__m128i)__builtin_ia32_punpcklbw128 ((__v16qi)__A, (__v16qi)__B);
975 -: 973:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
976 -: 974:_mm_unpacklo_epi16 (__m128i __A, __m128i __B)
978 -: 976: return (__m128i)__builtin_ia32_punpcklwd128 ((__v8hi)__A, (__v8hi)__B);
981 -: 979:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
982 -: 980:_mm_unpacklo_epi32 (__m128i __A, __m128i __B)
984 -: 982: return (__m128i)__builtin_ia32_punpckldq128 ((__v4si)__A, (__v4si)__B);
987 -: 985:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
988 -: 986:_mm_unpacklo_epi64 (__m128i __A, __m128i __B)
990 -: 988: return (__m128i)__builtin_ia32_punpcklqdq128 ((__v2di)__A, (__v2di)__B);
993 -: 991:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
994 -: 992:_mm_add_epi8 (__m128i __A, __m128i __B)
996 -: 994: return (__m128i)__builtin_ia32_paddb128 ((__v16qi)__A, (__v16qi)__B);
999 -: 997:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1000 -: 998:_mm_add_epi16 (__m128i __A, __m128i __B)
1002 -: 1000: return (__m128i)__builtin_ia32_paddw128 ((__v8hi)__A, (__v8hi)__B);
1005 -: 1003:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1006 -: 1004:_mm_add_epi32 (__m128i __A, __m128i __B)
1008 -: 1006: return (__m128i)__builtin_ia32_paddd128 ((__v4si)__A, (__v4si)__B);
1011 -: 1009:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1012 -: 1010:_mm_add_epi64 (__m128i __A, __m128i __B)
1014 47449782: 1012: return (__m128i)__builtin_ia32_paddq128 ((__v2di)__A, (__v2di)__B);
1015 call 0 returned 11241643
1016 call 1 returned 12483248
1017 call 2 never executed
1018 call 3 returned 11241643
1019 call 4 returned 12483248
1020 call 5 never executed
1023 -: 1015:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1024 -: 1016:_mm_adds_epi8 (__m128i __A, __m128i __B)
1026 -: 1018: return (__m128i)__builtin_ia32_paddsb128 ((__v16qi)__A, (__v16qi)__B);
1029 -: 1021:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1030 -: 1022:_mm_adds_epi16 (__m128i __A, __m128i __B)
1032 -: 1024: return (__m128i)__builtin_ia32_paddsw128 ((__v8hi)__A, (__v8hi)__B);
1035 -: 1027:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1036 -: 1028:_mm_adds_epu8 (__m128i __A, __m128i __B)
1038 -: 1030: return (__m128i)__builtin_ia32_paddusb128 ((__v16qi)__A, (__v16qi)__B);
1041 -: 1033:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1042 -: 1034:_mm_adds_epu16 (__m128i __A, __m128i __B)
1044 -: 1036: return (__m128i)__builtin_ia32_paddusw128 ((__v8hi)__A, (__v8hi)__B);
1047 -: 1039:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1048 -: 1040:_mm_sub_epi8 (__m128i __A, __m128i __B)
1050 -: 1042: return (__m128i)__builtin_ia32_psubb128 ((__v16qi)__A, (__v16qi)__B);
1053 -: 1045:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1054 -: 1046:_mm_sub_epi16 (__m128i __A, __m128i __B)
1056 -: 1048: return (__m128i)__builtin_ia32_psubw128 ((__v8hi)__A, (__v8hi)__B);
1059 -: 1051:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1060 -: 1052:_mm_sub_epi32 (__m128i __A, __m128i __B)
1062 -: 1054: return (__m128i)__builtin_ia32_psubd128 ((__v4si)__A, (__v4si)__B);
1065 -: 1057:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1066 -: 1058:_mm_sub_epi64 (__m128i __A, __m128i __B)
1068 -: 1060: return (__m128i)__builtin_ia32_psubq128 ((__v2di)__A, (__v2di)__B);
1071 -: 1063:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1072 -: 1064:_mm_subs_epi8 (__m128i __A, __m128i __B)
1074 -: 1066: return (__m128i)__builtin_ia32_psubsb128 ((__v16qi)__A, (__v16qi)__B);
1077 -: 1069:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1078 -: 1070:_mm_subs_epi16 (__m128i __A, __m128i __B)
1080 -: 1072: return (__m128i)__builtin_ia32_psubsw128 ((__v8hi)__A, (__v8hi)__B);
1083 -: 1075:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1084 -: 1076:_mm_subs_epu8 (__m128i __A, __m128i __B)
1086 -: 1078: return (__m128i)__builtin_ia32_psubusb128 ((__v16qi)__A, (__v16qi)__B);
1089 -: 1081:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1090 -: 1082:_mm_subs_epu16 (__m128i __A, __m128i __B)
1092 -: 1084: return (__m128i)__builtin_ia32_psubusw128 ((__v8hi)__A, (__v8hi)__B);
1095 -: 1087:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1096 -: 1088:_mm_madd_epi16 (__m128i __A, __m128i __B)
1098 -: 1090: return (__m128i)__builtin_ia32_pmaddwd128 ((__v8hi)__A, (__v8hi)__B);
1101 -: 1093:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1102 -: 1094:_mm_mulhi_epi16 (__m128i __A, __m128i __B)
1104 -: 1096: return (__m128i)__builtin_ia32_pmulhw128 ((__v8hi)__A, (__v8hi)__B);
1107 -: 1099:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1108 -: 1100:_mm_mullo_epi16 (__m128i __A, __m128i __B)
1110 -: 1102: return (__m128i)__builtin_ia32_pmullw128 ((__v8hi)__A, (__v8hi)__B);
1113 -: 1105:extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1114 -: 1106:_mm_mul_su32 (__m64 __A, __m64 __B)
1116 -: 1108: return (__m64)__builtin_ia32_pmuludq ((__v2si)__A, (__v2si)__B);
1119 -: 1111:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1120 -: 1112:_mm_mul_epu32 (__m128i __A, __m128i __B)
1122 -: 1114: return (__m128i)__builtin_ia32_pmuludq128 ((__v4si)__A, (__v4si)__B);
1125 -: 1117:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1126 -: 1118:_mm_slli_epi16 (__m128i __A, int __B)
1128 -: 1120: return (__m128i)__builtin_ia32_psllwi128 ((__v8hi)__A, __B);
1131 -: 1123:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1132 -: 1124:_mm_slli_epi32 (__m128i __A, int __B)
1134 -: 1126: return (__m128i)__builtin_ia32_pslldi128 ((__v4si)__A, __B);
1137 -: 1129:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1138 -: 1130:_mm_slli_epi64 (__m128i __A, int __B)
1140 -: 1132: return (__m128i)__builtin_ia32_psllqi128 ((__v2di)__A, __B);
1143 -: 1135:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1144 -: 1136:_mm_srai_epi16 (__m128i __A, int __B)
1146 -: 1138: return (__m128i)__builtin_ia32_psrawi128 ((__v8hi)__A, __B);
1149 -: 1141:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1150 -: 1142:_mm_srai_epi32 (__m128i __A, int __B)
1152 -: 1144: return (__m128i)__builtin_ia32_psradi128 ((__v4si)__A, __B);
1155 -: 1147:#ifdef __OPTIMIZE__
1156 -: 1148:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1157 -: 1149:_mm_srli_si128 (__m128i __A, const int __N)
1159 -: 1151: return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8);
1162 -: 1154:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1163 -: 1155:_mm_slli_si128 (__m128i __A, const int __N)
1165 -: 1157: return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8);
1168 -: 1160:#define _mm_srli_si128(A, N) \
1169 -: 1161: ((__m128i)__builtin_ia32_psrldqi128 ((__m128i)(A), (int)(N) * 8))
1170 -: 1162:#define _mm_slli_si128(A, N) \
1171 -: 1163: ((__m128i)__builtin_ia32_pslldqi128 ((__m128i)(A), (int)(N) * 8))
1174 -: 1166:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1175 -: 1167:_mm_srli_epi16 (__m128i __A, int __B)
1177 -: 1169: return (__m128i)__builtin_ia32_psrlwi128 ((__v8hi)__A, __B);
1180 -: 1172:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1181 -: 1173:_mm_srli_epi32 (__m128i __A, int __B)
1183 -: 1175: return (__m128i)__builtin_ia32_psrldi128 ((__v4si)__A, __B);
1186 -: 1178:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1187 -: 1179:_mm_srli_epi64 (__m128i __A, int __B)
1189 -: 1181: return (__m128i)__builtin_ia32_psrlqi128 ((__v2di)__A, __B);
1192 -: 1184:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1193 -: 1185:_mm_sll_epi16 (__m128i __A, __m128i __B)
1195 -: 1187: return (__m128i)__builtin_ia32_psllw128((__v8hi)__A, (__v8hi)__B);
1198 -: 1190:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1199 -: 1191:_mm_sll_epi32 (__m128i __A, __m128i __B)
1201 -: 1193: return (__m128i)__builtin_ia32_pslld128((__v4si)__A, (__v4si)__B);
1204 -: 1196:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1205 -: 1197:_mm_sll_epi64 (__m128i __A, __m128i __B)
1207 -: 1199: return (__m128i)__builtin_ia32_psllq128((__v2di)__A, (__v2di)__B);
1210 -: 1202:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1211 -: 1203:_mm_sra_epi16 (__m128i __A, __m128i __B)
1213 -: 1205: return (__m128i)__builtin_ia32_psraw128 ((__v8hi)__A, (__v8hi)__B);
1216 -: 1208:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1217 -: 1209:_mm_sra_epi32 (__m128i __A, __m128i __B)
1219 -: 1211: return (__m128i)__builtin_ia32_psrad128 ((__v4si)__A, (__v4si)__B);
1222 -: 1214:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1223 -: 1215:_mm_srl_epi16 (__m128i __A, __m128i __B)
1225 -: 1217: return (__m128i)__builtin_ia32_psrlw128 ((__v8hi)__A, (__v8hi)__B);
1228 -: 1220:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1229 -: 1221:_mm_srl_epi32 (__m128i __A, __m128i __B)
1231 -: 1223: return (__m128i)__builtin_ia32_psrld128 ((__v4si)__A, (__v4si)__B);
1234 -: 1226:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1235 -: 1227:_mm_srl_epi64 (__m128i __A, __m128i __B)
1237 -: 1229: return (__m128i)__builtin_ia32_psrlq128 ((__v2di)__A, (__v2di)__B);
1240 -: 1232:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1241 -: 1233:_mm_and_si128 (__m128i __A, __m128i __B)
1243 -: 1235: return (__m128i)__builtin_ia32_pand128 ((__v2di)__A, (__v2di)__B);
1246 -: 1238:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1247 -: 1239:_mm_andnot_si128 (__m128i __A, __m128i __B)
1249 -: 1241: return (__m128i)__builtin_ia32_pandn128 ((__v2di)__A, (__v2di)__B);
1252 -: 1244:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1253 -: 1245:_mm_or_si128 (__m128i __A, __m128i __B)
1255 -: 1247: return (__m128i)__builtin_ia32_por128 ((__v2di)__A, (__v2di)__B);
1258 -: 1250:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1259 -: 1251:_mm_xor_si128 (__m128i __A, __m128i __B)
1261 -: 1253: return (__m128i)__builtin_ia32_pxor128 ((__v2di)__A, (__v2di)__B);
1264 -: 1256:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1265 -: 1257:_mm_cmpeq_epi8 (__m128i __A, __m128i __B)
1267 -: 1259: return (__m128i)__builtin_ia32_pcmpeqb128 ((__v16qi)__A, (__v16qi)__B);
1270 -: 1262:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1271 -: 1263:_mm_cmpeq_epi16 (__m128i __A, __m128i __B)
1273 -: 1265: return (__m128i)__builtin_ia32_pcmpeqw128 ((__v8hi)__A, (__v8hi)__B);
1276 -: 1268:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1277 -: 1269:_mm_cmpeq_epi32 (__m128i __A, __m128i __B)
1279 -: 1271: return (__m128i)__builtin_ia32_pcmpeqd128 ((__v4si)__A, (__v4si)__B);
1282 -: 1274:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1283 -: 1275:_mm_cmplt_epi8 (__m128i __A, __m128i __B)
1285 -: 1277: return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__B, (__v16qi)__A);
1288 -: 1280:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1289 -: 1281:_mm_cmplt_epi16 (__m128i __A, __m128i __B)
1291 -: 1283: return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__B, (__v8hi)__A);
1294 -: 1286:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1295 -: 1287:_mm_cmplt_epi32 (__m128i __A, __m128i __B)
1297 -: 1289: return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__B, (__v4si)__A);
1300 -: 1292:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1301 -: 1293:_mm_cmpgt_epi8 (__m128i __A, __m128i __B)
1303 -: 1295: return (__m128i)__builtin_ia32_pcmpgtb128 ((__v16qi)__A, (__v16qi)__B);
1306 -: 1298:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1307 -: 1299:_mm_cmpgt_epi16 (__m128i __A, __m128i __B)
1309 -: 1301: return (__m128i)__builtin_ia32_pcmpgtw128 ((__v8hi)__A, (__v8hi)__B);
1312 -: 1304:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1313 -: 1305:_mm_cmpgt_epi32 (__m128i __A, __m128i __B)
1315 -: 1307: return (__m128i)__builtin_ia32_pcmpgtd128 ((__v4si)__A, (__v4si)__B);
1318 -: 1310:#ifdef __OPTIMIZE__
1319 -: 1311:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1320 -: 1312:_mm_extract_epi16 (__m128i const __A, int const __N)
1322 -: 1314: return __builtin_ia32_vec_ext_v8hi ((__v8hi)__A, __N);
1325 -: 1317:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1326 -: 1318:_mm_insert_epi16 (__m128i const __A, int const __D, int const __N)
1328 -: 1320: return (__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)__A, __D, __N);
1331 -: 1323:#define _mm_extract_epi16(A, N) \
1332 -: 1324: ((int) __builtin_ia32_vec_ext_v8hi ((__v8hi)(__m128i)(A), (int)(N)))
1333 -: 1325:#define _mm_insert_epi16(A, D, N) \
1334 -: 1326: ((__m128i) __builtin_ia32_vec_set_v8hi ((__v8hi)(__m128i)(A), \
1335 -: 1327: (int)(D), (int)(N)))
1338 -: 1330:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1339 -: 1331:_mm_max_epi16 (__m128i __A, __m128i __B)
1341 -: 1333: return (__m128i)__builtin_ia32_pmaxsw128 ((__v8hi)__A, (__v8hi)__B);
1344 -: 1336:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1345 -: 1337:_mm_max_epu8 (__m128i __A, __m128i __B)
1347 -: 1339: return (__m128i)__builtin_ia32_pmaxub128 ((__v16qi)__A, (__v16qi)__B);
1350 -: 1342:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1351 -: 1343:_mm_min_epi16 (__m128i __A, __m128i __B)
1353 -: 1345: return (__m128i)__builtin_ia32_pminsw128 ((__v8hi)__A, (__v8hi)__B);
1356 -: 1348:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1357 -: 1349:_mm_min_epu8 (__m128i __A, __m128i __B)
1359 -: 1351: return (__m128i)__builtin_ia32_pminub128 ((__v16qi)__A, (__v16qi)__B);
1362 -: 1354:extern __inline int __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1363 -: 1355:_mm_movemask_epi8 (__m128i __A)
1365 -: 1357: return __builtin_ia32_pmovmskb128 ((__v16qi)__A);
1368 -: 1360:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1369 -: 1361:_mm_mulhi_epu16 (__m128i __A, __m128i __B)
1371 -: 1363: return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
1374 -: 1366:#ifdef __OPTIMIZE__
1375 -: 1367:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1376 -: 1368:_mm_shufflehi_epi16 (__m128i __A, const int __mask)
1378 -: 1370: return (__m128i)__builtin_ia32_pshufhw ((__v8hi)__A, __mask);
1381 -: 1373:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1382 -: 1374:_mm_shufflelo_epi16 (__m128i __A, const int __mask)
1384 -: 1376: return (__m128i)__builtin_ia32_pshuflw ((__v8hi)__A, __mask);
1387 -: 1379:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1388 -: 1380:_mm_shuffle_epi32 (__m128i __A, const int __mask)
1390 -: 1382: return (__m128i)__builtin_ia32_pshufd ((__v4si)__A, __mask);
1393 -: 1385:#define _mm_shufflehi_epi16(A, N) \
1394 -: 1386: ((__m128i)__builtin_ia32_pshufhw ((__v8hi)(__m128i)(A), (int)(N)))
1395 -: 1387:#define _mm_shufflelo_epi16(A, N) \
1396 -: 1388: ((__m128i)__builtin_ia32_pshuflw ((__v8hi)(__m128i)(A), (int)(N)))
1397 -: 1389:#define _mm_shuffle_epi32(A, N) \
1398 -: 1390: ((__m128i)__builtin_ia32_pshufd ((__v4si)(__m128i)(A), (int)(N)))
1401 -: 1393:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1402 -: 1394:_mm_maskmoveu_si128 (__m128i __A, __m128i __B, char *__C)
1404 -: 1396: __builtin_ia32_maskmovdqu ((__v16qi)__A, (__v16qi)__B, __C);
1407 -: 1399:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1408 -: 1400:_mm_avg_epu8 (__m128i __A, __m128i __B)
1410 -: 1402: return (__m128i)__builtin_ia32_pavgb128 ((__v16qi)__A, (__v16qi)__B);
1413 -: 1405:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1414 -: 1406:_mm_avg_epu16 (__m128i __A, __m128i __B)
1416 -: 1408: return (__m128i)__builtin_ia32_pavgw128 ((__v8hi)__A, (__v8hi)__B);
1419 -: 1411:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1420 -: 1412:_mm_sad_epu8 (__m128i __A, __m128i __B)
1422 -: 1414: return (__m128i)__builtin_ia32_psadbw128 ((__v16qi)__A, (__v16qi)__B);
1425 -: 1417:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1426 -: 1418:_mm_stream_si32 (int *__A, int __B)
1428 -: 1420: __builtin_ia32_movnti (__A, __B);
1431 -: 1423:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1432 -: 1424:_mm_stream_si128 (__m128i *__A, __m128i __B)
1434 -: 1426: __builtin_ia32_movntdq ((__v2di *)__A, (__v2di)__B);
1437 -: 1429:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1438 -: 1430:_mm_stream_pd (double *__A, __m128d __B)
1440 -: 1432: __builtin_ia32_movntpd (__A, (__v2df)__B);
1443 -: 1435:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1444 -: 1436:_mm_clflush (void const *__A)
1446 -: 1438: __builtin_ia32_clflush (__A);
1449 -: 1441:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1450 -: 1442:_mm_lfence (void)
1452 -: 1444: __builtin_ia32_lfence ();
1455 -: 1447:extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1456 -: 1448:_mm_mfence (void)
1458 -: 1450: __builtin_ia32_mfence ();
1461 -: 1453:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1462 -: 1454:_mm_cvtsi32_si128 (int __A)
1464 -: 1456: return _mm_set_epi32 (0, 0, 0, __A);
1467 -: 1459:#ifdef __x86_64__
1468 -: 1460:/* Intel intrinsic. */
1469 -: 1461:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1470 -: 1462:_mm_cvtsi64_si128 (long long __A)
1472 -: 1464: return _mm_set_epi64x (0, __A);
1475 -: 1467:/* Microsoft intrinsic. */
1476 -: 1468:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1477 -: 1469:_mm_cvtsi64x_si128 (long long __A)
1479 -: 1471: return _mm_set_epi64x (0, __A);
1483 -: 1475:/* Casts between various SP, DP, INT vector types. Note that these do no
1484 -: 1476: conversion of values, they just change the type. */
1485 -: 1477:extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1486 -: 1478:_mm_castpd_ps(__m128d __A)
1488 -: 1480: return (__m128) __A;
1491 -: 1483:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1492 -: 1484:_mm_castpd_si128(__m128d __A)
1494 -: 1486: return (__m128i) __A;
1497 -: 1489:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1498 -: 1490:_mm_castps_pd(__m128 __A)
1500 -: 1492: return (__m128d) __A;
1503 -: 1495:extern __inline __m128i __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1504 -: 1496:_mm_castps_si128(__m128 __A)
1506 -: 1498: return (__m128i) __A;
1509 -: 1501:extern __inline __m128 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1510 -: 1502:_mm_castsi128_ps(__m128i __A)
1512 -: 1504: return (__m128) __A;
1515 -: 1507:extern __inline __m128d __attribute__((__gnu_inline__, __always_inline__, __artificial__))
1516 -: 1508:_mm_castsi128_pd(__m128i __A)
1518 -: 1510: return (__m128d) __A;
1521 -: 1513:#endif /* __SSE2__ */
1523 -: 1515:#endif /* _EMMINTRIN_H_INCLUDED */