ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
mmintrin.h
Go to the documentation of this file.
1/*===---- mmintrin.h - MMX intrinsics --------------------------------------===
2 *
3 * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 * See https://llvm.org/LICENSE.txt for license information.
5 * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 *
7 *===-----------------------------------------------------------------------===
8 */
9
10#ifndef __MMINTRIN_H
11#define __MMINTRIN_H
12
13typedef long long __m64 __attribute__((__vector_size__(8), __aligned__(8)));
14
15typedef long long __v1di __attribute__((__vector_size__(8)));
16typedef int __v2si __attribute__((__vector_size__(8)));
17typedef short __v4hi __attribute__((__vector_size__(8)));
18typedef char __v8qi __attribute__((__vector_size__(8)));
19
20/* Define the default attributes for the functions in this file. */
21#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("mmx"), __min_vector_width__(64)))
22
30static __inline__ void __attribute__((__always_inline__, __nodebug__, __target__("mmx")))
31_mm_empty(void)
32{
33 __builtin_ia32_emms();
34}
35
47static __inline__ __m64 __DEFAULT_FN_ATTRS
49{
50 return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
51}
52
64static __inline__ int __DEFAULT_FN_ATTRS
66{
67 return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
68}
69
80static __inline__ __m64 __DEFAULT_FN_ATTRS
81_mm_cvtsi64_m64(long long __i)
82{
83 return (__m64)__i;
84}
85
96static __inline__ long long __DEFAULT_FN_ATTRS
98{
99 return (long long)__m;
100}
101
126static __inline__ __m64 __DEFAULT_FN_ATTRS
127_mm_packs_pi16(__m64 __m1, __m64 __m2)
128{
129 return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
130}
131
156static __inline__ __m64 __DEFAULT_FN_ATTRS
157_mm_packs_pi32(__m64 __m1, __m64 __m2)
158{
159 return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
160}
161
186static __inline__ __m64 __DEFAULT_FN_ATTRS
187_mm_packs_pu16(__m64 __m1, __m64 __m2)
188{
189 return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
190}
191
213static __inline__ __m64 __DEFAULT_FN_ATTRS
214_mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
215{
216 return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
217}
218
236static __inline__ __m64 __DEFAULT_FN_ATTRS
237_mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
238{
239 return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
240}
241
257static __inline__ __m64 __DEFAULT_FN_ATTRS
258_mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
259{
260 return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
261}
262
284static __inline__ __m64 __DEFAULT_FN_ATTRS
285_mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
286{
287 return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
288}
289
307static __inline__ __m64 __DEFAULT_FN_ATTRS
308_mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
309{
310 return (__m64)__builtin_ia32_punpcklwd((__v4hi)__m1, (__v4hi)__m2);
311}
312
328static __inline__ __m64 __DEFAULT_FN_ATTRS
329_mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
330{
331 return (__m64)__builtin_ia32_punpckldq((__v2si)__m1, (__v2si)__m2);
332}
333
349static __inline__ __m64 __DEFAULT_FN_ATTRS
350_mm_add_pi8(__m64 __m1, __m64 __m2)
351{
352 return (__m64)__builtin_ia32_paddb((__v8qi)__m1, (__v8qi)__m2);
353}
354
370static __inline__ __m64 __DEFAULT_FN_ATTRS
371_mm_add_pi16(__m64 __m1, __m64 __m2)
372{
373 return (__m64)__builtin_ia32_paddw((__v4hi)__m1, (__v4hi)__m2);
374}
375
391static __inline__ __m64 __DEFAULT_FN_ATTRS
392_mm_add_pi32(__m64 __m1, __m64 __m2)
393{
394 return (__m64)__builtin_ia32_paddd((__v2si)__m1, (__v2si)__m2);
395}
396
413static __inline__ __m64 __DEFAULT_FN_ATTRS
414_mm_adds_pi8(__m64 __m1, __m64 __m2)
415{
416 return (__m64)__builtin_ia32_paddsb((__v8qi)__m1, (__v8qi)__m2);
417}
418
436static __inline__ __m64 __DEFAULT_FN_ATTRS
437_mm_adds_pi16(__m64 __m1, __m64 __m2)
438{
439 return (__m64)__builtin_ia32_paddsw((__v4hi)__m1, (__v4hi)__m2);
440}
441
458static __inline__ __m64 __DEFAULT_FN_ATTRS
459_mm_adds_pu8(__m64 __m1, __m64 __m2)
460{
461 return (__m64)__builtin_ia32_paddusb((__v8qi)__m1, (__v8qi)__m2);
462}
463
480static __inline__ __m64 __DEFAULT_FN_ATTRS
481_mm_adds_pu16(__m64 __m1, __m64 __m2)
482{
483 return (__m64)__builtin_ia32_paddusw((__v4hi)__m1, (__v4hi)__m2);
484}
485
501static __inline__ __m64 __DEFAULT_FN_ATTRS
502_mm_sub_pi8(__m64 __m1, __m64 __m2)
503{
504 return (__m64)__builtin_ia32_psubb((__v8qi)__m1, (__v8qi)__m2);
505}
506
522static __inline__ __m64 __DEFAULT_FN_ATTRS
523_mm_sub_pi16(__m64 __m1, __m64 __m2)
524{
525 return (__m64)__builtin_ia32_psubw((__v4hi)__m1, (__v4hi)__m2);
526}
527
543static __inline__ __m64 __DEFAULT_FN_ATTRS
544_mm_sub_pi32(__m64 __m1, __m64 __m2)
545{
546 return (__m64)__builtin_ia32_psubd((__v2si)__m1, (__v2si)__m2);
547}
548
566static __inline__ __m64 __DEFAULT_FN_ATTRS
567_mm_subs_pi8(__m64 __m1, __m64 __m2)
568{
569 return (__m64)__builtin_ia32_psubsb((__v8qi)__m1, (__v8qi)__m2);
570}
571
589static __inline__ __m64 __DEFAULT_FN_ATTRS
590_mm_subs_pi16(__m64 __m1, __m64 __m2)
591{
592 return (__m64)__builtin_ia32_psubsw((__v4hi)__m1, (__v4hi)__m2);
593}
594
613static __inline__ __m64 __DEFAULT_FN_ATTRS
614_mm_subs_pu8(__m64 __m1, __m64 __m2)
615{
616 return (__m64)__builtin_ia32_psubusb((__v8qi)__m1, (__v8qi)__m2);
617}
618
637static __inline__ __m64 __DEFAULT_FN_ATTRS
638_mm_subs_pu16(__m64 __m1, __m64 __m2)
639{
640 return (__m64)__builtin_ia32_psubusw((__v4hi)__m1, (__v4hi)__m2);
641}
642
664static __inline__ __m64 __DEFAULT_FN_ATTRS
665_mm_madd_pi16(__m64 __m1, __m64 __m2)
666{
667 return (__m64)__builtin_ia32_pmaddwd((__v4hi)__m1, (__v4hi)__m2);
668}
669
685static __inline__ __m64 __DEFAULT_FN_ATTRS
686_mm_mulhi_pi16(__m64 __m1, __m64 __m2)
687{
688 return (__m64)__builtin_ia32_pmulhw((__v4hi)__m1, (__v4hi)__m2);
689}
690
706static __inline__ __m64 __DEFAULT_FN_ATTRS
707_mm_mullo_pi16(__m64 __m1, __m64 __m2)
708{
709 return (__m64)__builtin_ia32_pmullw((__v4hi)__m1, (__v4hi)__m2);
710}
711
729static __inline__ __m64 __DEFAULT_FN_ATTRS
730_mm_sll_pi16(__m64 __m, __m64 __count)
731{
732 return (__m64)__builtin_ia32_psllw((__v4hi)__m, __count);
733}
734
751static __inline__ __m64 __DEFAULT_FN_ATTRS
752_mm_slli_pi16(__m64 __m, int __count)
753{
754 return (__m64)__builtin_ia32_psllwi((__v4hi)__m, __count);
755}
756
774static __inline__ __m64 __DEFAULT_FN_ATTRS
775_mm_sll_pi32(__m64 __m, __m64 __count)
776{
777 return (__m64)__builtin_ia32_pslld((__v2si)__m, __count);
778}
779
796static __inline__ __m64 __DEFAULT_FN_ATTRS
797_mm_slli_pi32(__m64 __m, int __count)
798{
799 return (__m64)__builtin_ia32_pslldi((__v2si)__m, __count);
800}
801
816static __inline__ __m64 __DEFAULT_FN_ATTRS
817_mm_sll_si64(__m64 __m, __m64 __count)
818{
819 return (__m64)__builtin_ia32_psllq((__v1di)__m, __count);
820}
821
836static __inline__ __m64 __DEFAULT_FN_ATTRS
837_mm_slli_si64(__m64 __m, int __count)
838{
839 return (__m64)__builtin_ia32_psllqi((__v1di)__m, __count);
840}
841
860static __inline__ __m64 __DEFAULT_FN_ATTRS
861_mm_sra_pi16(__m64 __m, __m64 __count)
862{
863 return (__m64)__builtin_ia32_psraw((__v4hi)__m, __count);
864}
865
883static __inline__ __m64 __DEFAULT_FN_ATTRS
884_mm_srai_pi16(__m64 __m, int __count)
885{
886 return (__m64)__builtin_ia32_psrawi((__v4hi)__m, __count);
887}
888
907static __inline__ __m64 __DEFAULT_FN_ATTRS
908_mm_sra_pi32(__m64 __m, __m64 __count)
909{
910 return (__m64)__builtin_ia32_psrad((__v2si)__m, __count);
911}
912
930static __inline__ __m64 __DEFAULT_FN_ATTRS
931_mm_srai_pi32(__m64 __m, int __count)
932{
933 return (__m64)__builtin_ia32_psradi((__v2si)__m, __count);
934}
935
953static __inline__ __m64 __DEFAULT_FN_ATTRS
954_mm_srl_pi16(__m64 __m, __m64 __count)
955{
956 return (__m64)__builtin_ia32_psrlw((__v4hi)__m, __count);
957}
958
975static __inline__ __m64 __DEFAULT_FN_ATTRS
976_mm_srli_pi16(__m64 __m, int __count)
977{
978 return (__m64)__builtin_ia32_psrlwi((__v4hi)__m, __count);
979}
980
998static __inline__ __m64 __DEFAULT_FN_ATTRS
999_mm_srl_pi32(__m64 __m, __m64 __count)
1000{
1001 return (__m64)__builtin_ia32_psrld((__v2si)__m, __count);
1002}
1003
1020static __inline__ __m64 __DEFAULT_FN_ATTRS
1021_mm_srli_pi32(__m64 __m, int __count)
1022{
1023 return (__m64)__builtin_ia32_psrldi((__v2si)__m, __count);
1024}
1025
1040static __inline__ __m64 __DEFAULT_FN_ATTRS
1041_mm_srl_si64(__m64 __m, __m64 __count)
1042{
1043 return (__m64)__builtin_ia32_psrlq((__v1di)__m, __count);
1044}
1045
1061static __inline__ __m64 __DEFAULT_FN_ATTRS
1062_mm_srli_si64(__m64 __m, int __count)
1063{
1064 return (__m64)__builtin_ia32_psrlqi((__v1di)__m, __count);
1065}
1066
1079static __inline__ __m64 __DEFAULT_FN_ATTRS
1080_mm_and_si64(__m64 __m1, __m64 __m2)
1081{
1082 return __builtin_ia32_pand((__v1di)__m1, (__v1di)__m2);
1083}
1084
1100static __inline__ __m64 __DEFAULT_FN_ATTRS
1101_mm_andnot_si64(__m64 __m1, __m64 __m2)
1102{
1103 return __builtin_ia32_pandn((__v1di)__m1, (__v1di)__m2);
1104}
1105
1118static __inline__ __m64 __DEFAULT_FN_ATTRS
1119_mm_or_si64(__m64 __m1, __m64 __m2)
1120{
1121 return __builtin_ia32_por((__v1di)__m1, (__v1di)__m2);
1122}
1123
1136static __inline__ __m64 __DEFAULT_FN_ATTRS
1137_mm_xor_si64(__m64 __m1, __m64 __m2)
1138{
1139 return __builtin_ia32_pxor((__v1di)__m1, (__v1di)__m2);
1140}
1141
1158static __inline__ __m64 __DEFAULT_FN_ATTRS
1159_mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
1160{
1161 return (__m64)__builtin_ia32_pcmpeqb((__v8qi)__m1, (__v8qi)__m2);
1162}
1163
1180static __inline__ __m64 __DEFAULT_FN_ATTRS
1181_mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
1182{
1183 return (__m64)__builtin_ia32_pcmpeqw((__v4hi)__m1, (__v4hi)__m2);
1184}
1185
1202static __inline__ __m64 __DEFAULT_FN_ATTRS
1203_mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
1204{
1205 return (__m64)__builtin_ia32_pcmpeqd((__v2si)__m1, (__v2si)__m2);
1206}
1207
1224static __inline__ __m64 __DEFAULT_FN_ATTRS
1225_mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
1226{
1227 return (__m64)__builtin_ia32_pcmpgtb((__v8qi)__m1, (__v8qi)__m2);
1228}
1229
1246static __inline__ __m64 __DEFAULT_FN_ATTRS
1247_mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
1248{
1249 return (__m64)__builtin_ia32_pcmpgtw((__v4hi)__m1, (__v4hi)__m2);
1250}
1251
1268static __inline__ __m64 __DEFAULT_FN_ATTRS
1269_mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
1270{
1271 return (__m64)__builtin_ia32_pcmpgtd((__v2si)__m1, (__v2si)__m2);
1272}
1273
1281static __inline__ __m64 __DEFAULT_FN_ATTRS
1283{
1284 return __extension__ (__m64){ 0LL };
1285}
1286
1302static __inline__ __m64 __DEFAULT_FN_ATTRS
1303_mm_set_pi32(int __i1, int __i0)
1304{
1305 return (__m64)__builtin_ia32_vec_init_v2si(__i0, __i1);
1306}
1307
1325static __inline__ __m64 __DEFAULT_FN_ATTRS
1326_mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
1327{
1328 return (__m64)__builtin_ia32_vec_init_v4hi(__s0, __s1, __s2, __s3);
1329}
1330
1356static __inline__ __m64 __DEFAULT_FN_ATTRS
1357_mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2,
1358 char __b1, char __b0)
1359{
1360 return (__m64)__builtin_ia32_vec_init_v8qi(__b0, __b1, __b2, __b3,
1361 __b4, __b5, __b6, __b7);
1362}
1363
1377static __inline__ __m64 __DEFAULT_FN_ATTRS
1379{
1380 return _mm_set_pi32(__i, __i);
1381}
1382
1396static __inline__ __m64 __DEFAULT_FN_ATTRS
1398{
1399 return _mm_set_pi16(__w, __w, __w, __w);
1400}
1401
1414static __inline__ __m64 __DEFAULT_FN_ATTRS
1416{
1417 return _mm_set_pi8(__b, __b, __b, __b, __b, __b, __b, __b);
1418}
1419
1435static __inline__ __m64 __DEFAULT_FN_ATTRS
1436_mm_setr_pi32(int __i0, int __i1)
1437{
1438 return _mm_set_pi32(__i1, __i0);
1439}
1440
1458static __inline__ __m64 __DEFAULT_FN_ATTRS
1459_mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
1460{
1461 return _mm_set_pi16(__w3, __w2, __w1, __w0);
1462}
1463
1489static __inline__ __m64 __DEFAULT_FN_ATTRS
1490_mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
1491 char __b6, char __b7)
1492{
1493 return _mm_set_pi8(__b7, __b6, __b5, __b4, __b3, __b2, __b1, __b0);
1494}
1495
1496#undef __DEFAULT_FN_ATTRS
1497
1498/* Aliases for compatibility. */
1499#define _m_empty _mm_empty
1500#define _m_from_int _mm_cvtsi32_si64
1501#define _m_from_int64 _mm_cvtsi64_m64
1502#define _m_to_int _mm_cvtsi64_si32
1503#define _m_to_int64 _mm_cvtm64_si64
1504#define _m_packsswb _mm_packs_pi16
1505#define _m_packssdw _mm_packs_pi32
1506#define _m_packuswb _mm_packs_pu16
1507#define _m_punpckhbw _mm_unpackhi_pi8
1508#define _m_punpckhwd _mm_unpackhi_pi16
1509#define _m_punpckhdq _mm_unpackhi_pi32
1510#define _m_punpcklbw _mm_unpacklo_pi8
1511#define _m_punpcklwd _mm_unpacklo_pi16
1512#define _m_punpckldq _mm_unpacklo_pi32
1513#define _m_paddb _mm_add_pi8
1514#define _m_paddw _mm_add_pi16
1515#define _m_paddd _mm_add_pi32
1516#define _m_paddsb _mm_adds_pi8
1517#define _m_paddsw _mm_adds_pi16
1518#define _m_paddusb _mm_adds_pu8
1519#define _m_paddusw _mm_adds_pu16
1520#define _m_psubb _mm_sub_pi8
1521#define _m_psubw _mm_sub_pi16
1522#define _m_psubd _mm_sub_pi32
1523#define _m_psubsb _mm_subs_pi8
1524#define _m_psubsw _mm_subs_pi16
1525#define _m_psubusb _mm_subs_pu8
1526#define _m_psubusw _mm_subs_pu16
1527#define _m_pmaddwd _mm_madd_pi16
1528#define _m_pmulhw _mm_mulhi_pi16
1529#define _m_pmullw _mm_mullo_pi16
1530#define _m_psllw _mm_sll_pi16
1531#define _m_psllwi _mm_slli_pi16
1532#define _m_pslld _mm_sll_pi32
1533#define _m_pslldi _mm_slli_pi32
1534#define _m_psllq _mm_sll_si64
1535#define _m_psllqi _mm_slli_si64
1536#define _m_psraw _mm_sra_pi16
1537#define _m_psrawi _mm_srai_pi16
1538#define _m_psrad _mm_sra_pi32
1539#define _m_psradi _mm_srai_pi32
1540#define _m_psrlw _mm_srl_pi16
1541#define _m_psrlwi _mm_srli_pi16
1542#define _m_psrld _mm_srl_pi32
1543#define _m_psrldi _mm_srli_pi32
1544#define _m_psrlq _mm_srl_si64
1545#define _m_psrlqi _mm_srli_si64
1546#define _m_pand _mm_and_si64
1547#define _m_pandn _mm_andnot_si64
1548#define _m_por _mm_or_si64
1549#define _m_pxor _mm_xor_si64
1550#define _m_pcmpeqb _mm_cmpeq_pi8
1551#define _m_pcmpeqw _mm_cmpeq_pi16
1552#define _m_pcmpeqd _mm_cmpeq_pi32
1553#define _m_pcmpgtb _mm_cmpgt_pi8
1554#define _m_pcmpgtw _mm_cmpgt_pi16
1555#define _m_pcmpgtd _mm_cmpgt_pi32
1556
1557#endif /* __MMINTRIN_H */
1558
static __inline__ vector float vector float __b
Definition altivec.h:520
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi16(__m64 __m1, __m64 __m2)
Unpacks the upper 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64...
Definition mmintrin.h:237
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi16(short __w)
Constructs a 64-bit integer vector of [4 x i16], with each of the 16-bit integer vector elements set ...
Definition mmintrin.h:1397
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi32(__m64 __m1, __m64 __m2)
Adds each 32-bit integer element of the first 64-bit integer vector of [2 x i32] to the corresponding...
Definition mmintrin.h:392
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_pi16(__m64 __m, __m64 __count)
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of ...
Definition mmintrin.h:954
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srai_pi32(__m64 __m, int __count)
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bit...
Definition mmintrin.h:931
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setr_pi16(short __w0, short __w1, short __w2, short __w3)
Constructs a 64-bit integer vector, initialized in reverse order with the specified 16-bit integer va...
Definition mmintrin.h:1459
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi8(__m64 __m1, __m64 __m2)
Unpacks the upper 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-...
Definition mmintrin.h:214
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setr_pi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5, char __b6, char __b7)
Constructs a 64-bit integer vector, initialized in reverse order with the specified 8-bit integer val...
Definition mmintrin.h:1490
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_madd_pi16(__m64 __m1, __m64 __m2)
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the ...
Definition mmintrin.h:665
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_si64(__m64 __m, __m64 __count)
Right-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit ...
Definition mmintrin.h:1041
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pu16(__m64 __m1, __m64 __m2)
Subtracts each 16-bit unsigned integer element of the second 64-bit integer vector of [4 x i16] from ...
Definition mmintrin.h:638
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pi8(__m64 __m1, __m64 __m2)
Adds each 8-bit signed integer element of the first 64-bit integer vector of [8 x i8] to the correspo...
Definition mmintrin.h:414
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi8(__m64 __m1, __m64 __m2)
Unpacks the lower 32 bits from two 64-bit integer vectors of [8 x i8] and interleaves them into a 64-...
Definition mmintrin.h:285
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pi16(__m64 __m1, __m64 __m2)
Subtracts each 16-bit signed integer element of the second 64-bit integer vector of [4 x i16] from th...
Definition mmintrin.h:590
long long __m64 __attribute__((__vector_size__(8), __aligned__(8)))
Definition mmintrin.h:13
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi16(__m64 __m1, __m64 __m2)
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the e...
Definition mmintrin.h:1247
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_si64(__m64 __m, __m64 __count)
Left-shifts the first 64-bit integer parameter by the number of bits specified by the second 64-bit i...
Definition mmintrin.h:817
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi8(__m64 __m1, __m64 __m2)
Subtracts each 8-bit integer element of the second 64-bit integer vector of [8 x i8] from the corresp...
Definition mmintrin.h:502
static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtm64_si64(__m64 __m)
Casts a 64-bit integer vector into a 64-bit signed integer value.
Definition mmintrin.h:97
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pi8(__m64 __m1, __m64 __m2)
Subtracts each 8-bit signed integer element of the second 64-bit integer vector of [8 x i8] from the ...
Definition mmintrin.h:567
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pi16(__m64 __m1, __m64 __m2)
Adds each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] to the corres...
Definition mmintrin.h:437
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi32(__m64 __m1, __m64 __m2)
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the e...
Definition mmintrin.h:1269
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpgt_pi8(__m64 __m1, __m64 __m2)
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the ele...
Definition mmintrin.h:1225
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pu16(__m64 __m1, __m64 __m2)
Converts 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit un...
Definition mmintrin.h:187
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvtsi32_si64(int __i)
Constructs a 64-bit integer vector, setting the lower 32 bits to the value of the 32-bit integer para...
Definition mmintrin.h:48
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi32(int __i)
Constructs a 64-bit integer vector of [2 x i32], with each of the 32-bit integer vector elements set ...
Definition mmintrin.h:1378
#define __DEFAULT_FN_ATTRS
Definition mmintrin.h:21
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_pi16(__m64 __m, int __count)
Left-shifts each 16-bit signed integer element of a 64-bit integer vector of [4 x i16] by the number ...
Definition mmintrin.h:752
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set1_pi8(char __b)
Constructs a 64-bit integer vector of [8 x i8], with each of the 8-bit integer vector elements set to...
Definition mmintrin.h:1415
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pi32(__m64 __m1, __m64 __m2)
Converts 32-bit signed integers from both 64-bit integer vector parameters of [2 x i32] into 16-bit s...
Definition mmintrin.h:157
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi16(__m64 __m1, __m64 __m2)
Adds each 16-bit integer element of the first 64-bit integer vector of [4 x i16] to the corresponding...
Definition mmintrin.h:371
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_subs_pu8(__m64 __m1, __m64 __m2)
Subtracts each 8-bit unsigned integer element of the second 64-bit integer vector of [8 x i8] from th...
Definition mmintrin.h:614
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pu8(__m64 __m1, __m64 __m2)
Adds each 8-bit unsigned integer element of the first 64-bit integer vector of [8 x i8] to the corres...
Definition mmintrin.h:459
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_or_si64(__m64 __m1, __m64 __m2)
Performs a bitwise OR of two 64-bit integer vectors.
Definition mmintrin.h:1119
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_si64(__m64 __m, int __count)
Left-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the se...
Definition mmintrin.h:837
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sra_pi32(__m64 __m, __m64 __count)
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of ...
Definition mmintrin.h:908
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srl_pi32(__m64 __m, __m64 __count)
Right-shifts each 32-bit integer element of the first parameter, which is a 64-bit integer vector of ...
Definition mmintrin.h:999
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi16(__m64 __m1, __m64 __m2)
Unpacks the lower 32 bits from two 64-bit integer vectors of [4 x i16] and interleaves them into a 64...
Definition mmintrin.h:308
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi16(__m64 __m1, __m64 __m2)
Compares the 16-bit integer elements of two 64-bit integer vectors of [4 x i16] to determine if the e...
Definition mmintrin.h:1181
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_pi16(__m64 __m, int __count)
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bit...
Definition mmintrin.h:976
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_si64(__m64 __m, int __count)
Right-shifts the first parameter, which is a 64-bit integer, by the number of bits specified by the s...
Definition mmintrin.h:1062
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set_pi16(short __s3, short __s2, short __s1, short __s0)
Constructs a 64-bit integer vector initialized with the specified 16-bit integer values.
Definition mmintrin.h:1326
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi32(__m64 __m1, __m64 __m2)
Compares the 32-bit integer elements of two 64-bit integer vectors of [2 x i32] to determine if the e...
Definition mmintrin.h:1203
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_pi32(__m64 __m, __m64 __count)
Left-shifts each 32-bit signed integer element of the first parameter, which is a 64-bit integer vect...
Definition mmintrin.h:775
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setr_pi32(int __i0, int __i1)
Constructs a 64-bit integer vector, initialized in reverse order with the specified 32-bit integer va...
Definition mmintrin.h:1436
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_add_pi8(__m64 __m1, __m64 __m2)
Adds each 8-bit integer element of the first 64-bit integer vector of [8 x i8] to the corresponding 8...
Definition mmintrin.h:350
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srai_pi16(__m64 __m, int __count)
Right-shifts each 16-bit integer element of a 64-bit integer vector of [4 x i16] by the number of bit...
Definition mmintrin.h:884
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set_pi32(int __i1, int __i0)
Constructs a 64-bit integer vector initialized with the specified 32-bit integer values.
Definition mmintrin.h:1303
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_adds_pu16(__m64 __m1, __m64 __m2)
Adds each 16-bit unsigned integer element of the first 64-bit integer vector of [4 x i16] to the corr...
Definition mmintrin.h:481
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_xor_si64(__m64 __m1, __m64 __m2)
Performs a bitwise exclusive OR of two 64-bit integer vectors.
Definition mmintrin.h:1137
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cvtsi64_m64(long long __i)
Casts a 64-bit signed integer value into a 64-bit integer vector.
Definition mmintrin.h:81
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpackhi_pi32(__m64 __m1, __m64 __m2)
Unpacks the upper 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64...
Definition mmintrin.h:258
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mullo_pi16(__m64 __m1, __m64 __m2)
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the ...
Definition mmintrin.h:707
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_slli_pi32(__m64 __m, int __count)
Left-shifts each 32-bit signed integer element of a 64-bit integer vector of [2 x i32] by the number ...
Definition mmintrin.h:797
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_unpacklo_pi32(__m64 __m1, __m64 __m2)
Unpacks the lower 32 bits from two 64-bit integer vectors of [2 x i32] and interleaves them into a 64...
Definition mmintrin.h:329
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_setzero_si64(void)
Constructs a 64-bit integer vector initialized to zero.
Definition mmintrin.h:1282
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sll_pi16(__m64 __m, __m64 __count)
Left-shifts each 16-bit signed integer element of the first parameter, which is a 64-bit integer vect...
Definition mmintrin.h:730
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sra_pi16(__m64 __m, __m64 __count)
Right-shifts each 16-bit integer element of the first parameter, which is a 64-bit integer vector of ...
Definition mmintrin.h:861
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi32(__m64 __m1, __m64 __m2)
Subtracts each 32-bit integer element of the second 64-bit integer vector of [2 x i32] from the corre...
Definition mmintrin.h:544
static __inline__ int __DEFAULT_FN_ATTRS _mm_cvtsi64_si32(__m64 __m)
Returns the lower 32 bits of a 64-bit integer vector as a 32-bit signed integer.
Definition mmintrin.h:65
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_cmpeq_pi8(__m64 __m1, __m64 __m2)
Compares the 8-bit integer elements of two 64-bit integer vectors of [8 x i8] to determine if the ele...
Definition mmintrin.h:1159
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_set_pi8(char __b7, char __b6, char __b5, char __b4, char __b3, char __b2, char __b1, char __b0)
Constructs a 64-bit integer vector initialized with the specified 8-bit integer values.
Definition mmintrin.h:1357
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_packs_pi16(__m64 __m1, __m64 __m2)
Converts 16-bit signed integers from both 64-bit integer vector parameters of [4 x i16] into 8-bit si...
Definition mmintrin.h:127
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_srli_pi32(__m64 __m, int __count)
Right-shifts each 32-bit integer element of a 64-bit integer vector of [2 x i32] by the number of bit...
Definition mmintrin.h:1021
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_mulhi_pi16(__m64 __m1, __m64 __m2)
Multiplies each 16-bit signed integer element of the first 64-bit integer vector of [4 x i16] by the ...
Definition mmintrin.h:686
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_andnot_si64(__m64 __m1, __m64 __m2)
Performs a bitwise NOT of the first 64-bit integer vector, and then performs a bitwise AND of the int...
Definition mmintrin.h:1101
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_sub_pi16(__m64 __m1, __m64 __m2)
Subtracts each 16-bit integer element of the second 64-bit integer vector of [4 x i16] from the corre...
Definition mmintrin.h:523
static __inline__ __m64 __DEFAULT_FN_ATTRS _mm_and_si64(__m64 __m1, __m64 __m2)
Performs a bitwise AND of two 64-bit integer vectors.
Definition mmintrin.h:1080