Lines Matching +full:128 +full:m

22                  __target__("sse4.1,no-evex512"), __min_vector_width__(128)))
41 /// Rounds up each element of the 128-bit vector of [4 x float] to an
42 /// integer and returns the rounded values in a 128-bit vector of
54 /// A 128-bit vector of [4 x float] values to be rounded up.
55 /// \returns A 128-bit vector of [4 x float] containing the rounded values.
58 /// Rounds up each element of the 128-bit vector of [2 x double] to an
59 /// integer and returns the rounded values in a 128-bit vector of
71 /// A 128-bit vector of [2 x double] values to be rounded up.
72 /// \returns A 128-bit vector of [2 x double] containing the rounded values.
75 /// Copies three upper elements of the first 128-bit vector operand to
76 /// the corresponding three upper elements of the 128-bit result vector of
77 /// [4 x float]. Rounds up the lowest element of the second 128-bit vector
78 /// operand to an integer and copies it to the lowest element of the 128-bit
90 /// A 128-bit vector of [4 x float]. The values stored in bits [127:32] are
93 /// A 128-bit vector of [4 x float]. The value stored in bits [31:0] is
96 /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
100 /// Copies the upper element of the first 128-bit vector operand to the
101 /// corresponding upper element of the 128-bit result vector of [2 x double].
102 /// Rounds up the lower element of the second 128-bit vector operand to an
103 /// integer and copies it to the lower element of the 128-bit result vector
115 /// A 128-bit vector of [2 x double]. The value stored in bits [127:64] is
118 /// A 128-bit vector of [2 x double]. The value stored in bits [63:0] is
121 /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
125 /// Rounds down each element of the 128-bit vector of [4 x float] to an
126 /// an integer and returns the rounded values in a 128-bit vector of
138 /// A 128-bit vector of [4 x float] values to be rounded down.
139 /// \returns A 128-bit vector of [4 x float] containing the rounded values.
142 /// Rounds down each element of the 128-bit vector of [2 x double] to an
143 /// integer and returns the rounded values in a 128-bit vector of
155 /// A 128-bit vector of [2 x double].
156 /// \returns A 128-bit vector of [2 x double] containing the rounded values.
159 /// Copies three upper elements of the first 128-bit vector operand to
160 /// the corresponding three upper elements of the 128-bit result vector of
161 /// [4 x float]. Rounds down the lowest element of the second 128-bit vector
162 /// operand to an integer and copies it to the lowest element of the 128-bit
174 /// A 128-bit vector of [4 x float]. The values stored in bits [127:32] are
177 /// A 128-bit vector of [4 x float]. The value stored in bits [31:0] is
180 /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
184 /// Copies the upper element of the first 128-bit vector operand to the
185 /// corresponding upper element of the 128-bit result vector of [2 x double].
186 /// Rounds down the lower element of the second 128-bit vector operand to an
187 /// integer and copies it to the lower element of the 128-bit result vector
199 /// A 128-bit vector of [2 x double]. The value stored in bits [127:64] is
202 /// A 128-bit vector of [2 x double]. The value stored in bits [63:0] is
205 /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
209 /// Rounds each element of the 128-bit vector of [4 x float] to an
211 /// argument and returns the rounded values in a 128-bit vector of
217 /// __m128 _mm_round_ps(__m128 X, const int M);
223 /// A 128-bit vector of [4 x float].
224 /// \param M
231 /// 0: Use bits [1:0] of \a M \n
238 /// \returns A 128-bit vector of [4 x float] containing the rounded values.
239 #define _mm_round_ps(X, M) \ argument
240 ((__m128)__builtin_ia32_roundps((__v4sf)(__m128)(X), (M)))
242 /// Copies three upper elements of the first 128-bit vector operand to
243 /// the corresponding three upper elements of the 128-bit result vector of
244 /// [4 x float]. Rounds the lowest element of the second 128-bit vector
246 /// by the third argument and copies it to the lowest element of the 128-bit
252 /// __m128 _mm_round_ss(__m128 X, __m128 Y, const int M);
258 /// A 128-bit vector of [4 x float]. The values stored in bits [127:32] are
261 /// A 128-bit vector of [4 x float]. The value stored in bits [31:0] is
264 /// \param M
271 /// 0: Use bits [1:0] of \a M \n
278 /// \returns A 128-bit vector of [4 x float] containing the copied and rounded
280 #define _mm_round_ss(X, Y, M) \ argument
282 (M)))
284 /// Rounds each element of the 128-bit vector of [2 x double] to an
286 /// argument and returns the rounded values in a 128-bit vector of
292 /// __m128d _mm_round_pd(__m128d X, const int M);
298 /// A 128-bit vector of [2 x double].
299 /// \param M
306 /// 0: Use bits [1:0] of \a M \n
313 /// \returns A 128-bit vector of [2 x double] containing the rounded values.
314 #define _mm_round_pd(X, M) \ argument
315 ((__m128d)__builtin_ia32_roundpd((__v2df)(__m128d)(X), (M)))
317 /// Copies the upper element of the first 128-bit vector operand to the
318 /// corresponding upper element of the 128-bit result vector of [2 x double].
319 /// Rounds the lower element of the second 128-bit vector operand to an
321 /// argument and copies it to the lower element of the 128-bit result vector
327 /// __m128d _mm_round_sd(__m128d X, __m128d Y, const int M);
333 /// A 128-bit vector of [2 x double]. The value stored in bits [127:64] is
336 /// A 128-bit vector of [2 x double]. The value stored in bits [63:0] is
339 /// \param M
346 /// 0: Use bits [1:0] of \a M \n
353 /// \returns A 128-bit vector of [2 x double] containing the copied and rounded
355 #define _mm_round_sd(X, Y, M) \ argument
357 (M)))
360 /// Returns a 128-bit vector of [2 x double] where the values are
367 /// __m128d _mm_blend_pd(__m128d V1, __m128d V2, const int M);
373 /// A 128-bit vector of [2 x double].
375 /// A 128-bit vector of [2 x double].
376 /// \param M
383 /// \returns A 128-bit vector of [2 x double] containing the copied values.
384 #define _mm_blend_pd(V1, V2, M) \ argument
386 (__v2df)(__m128d)(V2), (int)(M)))
388 /// Returns a 128-bit vector of [4 x float] where the values are selected
395 /// __m128 _mm_blend_ps(__m128 V1, __m128 V2, const int M);
401 /// A 128-bit vector of [4 x float].
403 /// A 128-bit vector of [4 x float].
404 /// \param M
411 /// \returns A 128-bit vector of [4 x float] containing the copied values.
412 #define _mm_blend_ps(V1, V2, M) \ argument
414 (int)(M)))
416 /// Returns a 128-bit vector of [2 x double] where the values are
425 /// A 128-bit vector of [2 x double].
427 /// A 128-bit vector of [2 x double].
429 /// A 128-bit vector operand, with mask bits 127 and 63 specifying how the
435 /// \returns A 128-bit vector of [2 x double] containing the copied values.
443 /// Returns a 128-bit vector of [4 x float] where the values are
452 /// A 128-bit vector of [4 x float].
454 /// A 128-bit vector of [4 x float].
456 /// A 128-bit vector operand, with mask bits 127, 95, 63, and 31 specifying
462 /// \returns A 128-bit vector of [4 x float] containing the copied values.
470 /// Returns a 128-bit vector of [16 x i8] where the values are selected
479 /// A 128-bit vector of [16 x i8].
481 /// A 128-bit vector of [16 x i8].
483 /// A 128-bit vector operand, with mask bits 127, 119, 111...7 specifying
489 /// \returns A 128-bit vector of [16 x i8] containing the copied values.
497 /// Returns a 128-bit vector of [8 x i16] where the values are selected
504 /// __m128i _mm_blend_epi16(__m128i V1, __m128i V2, const int M);
510 /// A 128-bit vector of [8 x i16].
512 /// A 128-bit vector of [8 x i16].
513 /// \param M
520 /// \returns A 128-bit vector of [8 x i16] containing the copied values.
521 #define _mm_blend_epi16(V1, V2, M) \ argument
523 (__v8hi)(__m128i)(V2), (int)(M)))
526 /// Multiples corresponding elements of two 128-bit vectors of [4 x i32]
527 /// and returns the lower 32 bits of the each product in a 128-bit vector of
535 /// A 128-bit integer vector.
537 /// A 128-bit integer vector.
538 /// \returns A 128-bit integer vector containing the products of both operands.
544 /// Multiplies corresponding even-indexed elements of two 128-bit
545 /// vectors of [4 x i32] and returns a 128-bit vector of [2 x i64]
553 /// A 128-bit vector of [4 x i32].
555 /// A 128-bit vector of [4 x i32].
556 /// \returns A 128-bit vector of [2 x i64] containing the products of both
564 /// Computes the dot product of the two 128-bit vectors of [4 x float]
565 /// and returns it in the elements of the 128-bit result vector of
575 /// __m128 _mm_dp_ps(__m128 X, __m128 Y, const int M);
581 /// A 128-bit vector of [4 x float].
583 /// A 128-bit vector of [4 x float].
584 /// \param M
595 /// \returns A 128-bit vector of [4 x float] containing the dot product.
596 #define _mm_dp_ps(X, Y, M) \ argument
597 ((__m128)__builtin_ia32_dpps((__v4sf)(__m128)(X), (__v4sf)(__m128)(Y), (M)))
599 /// Computes the dot product of the two 128-bit vectors of [2 x double]
600 /// and returns it in the elements of the 128-bit result vector of
610 /// __m128d _mm_dp_pd(__m128d X, __m128d Y, const int M);
616 /// A 128-bit vector of [2 x double].
618 /// A 128-bit vector of [2 x double].
619 /// \param M
630 #define _mm_dp_pd(X, Y, M) \ argument
632 (M)))
635 /// Loads integer values from a 128-bit aligned memory location to a
636 /// 128-bit integer vector.
643 /// A pointer to a 128-bit aligned memory location that contains the integer
645 /// \returns A 128-bit integer vector containing the data stored at the
653 /// Compares the corresponding elements of two 128-bit vectors of
654 /// [16 x i8] and returns a 128-bit vector of [16 x i8] containing the lesser
662 /// A 128-bit vector of [16 x i8].
664 /// A 128-bit vector of [16 x i8]
665 /// \returns A 128-bit vector of [16 x i8] containing the lesser values.
671 /// Compares the corresponding elements of two 128-bit vectors of
672 /// [16 x i8] and returns a 128-bit vector of [16 x i8] containing the
680 /// A 128-bit vector of [16 x i8].
682 /// A 128-bit vector of [16 x i8].
683 /// \returns A 128-bit vector of [16 x i8] containing the greater values.
689 /// Compares the corresponding elements of two 128-bit vectors of
690 /// [8 x u16] and returns a 128-bit vector of [8 x u16] containing the lesser
698 /// A 128-bit vector of [8 x u16].
700 /// A 128-bit vector of [8 x u16].
701 /// \returns A 128-bit vector of [8 x u16] containing the lesser values.
707 /// Compares the corresponding elements of two 128-bit vectors of
708 /// [8 x u16] and returns a 128-bit vector of [8 x u16] containing the
716 /// A 128-bit vector of [8 x u16].
718 /// A 128-bit vector of [8 x u16].
719 /// \returns A 128-bit vector of [8 x u16] containing the greater values.
725 /// Compares the corresponding elements of two 128-bit vectors of
726 /// [4 x i32] and returns a 128-bit vector of [4 x i32] containing the lesser
734 /// A 128-bit vector of [4 x i32].
736 /// A 128-bit vector of [4 x i32].
737 /// \returns A 128-bit vector of [4 x i32] containing the lesser values.
743 /// Compares the corresponding elements of two 128-bit vectors of
744 /// [4 x i32] and returns a 128-bit vector of [4 x i32] containing the
752 /// A 128-bit vector of [4 x i32].
754 /// A 128-bit vector of [4 x i32].
755 /// \returns A 128-bit vector of [4 x i32] containing the greater values.
761 /// Compares the corresponding elements of two 128-bit vectors of
762 /// [4 x u32] and returns a 128-bit vector of [4 x u32] containing the lesser
770 /// A 128-bit vector of [4 x u32].
772 /// A 128-bit vector of [4 x u32].
773 /// \returns A 128-bit vector of [4 x u32] containing the lesser values.
779 /// Compares the corresponding elements of two 128-bit vectors of
780 /// [4 x u32] and returns a 128-bit vector of [4 x u32] containing the
788 /// A 128-bit vector of [4 x u32].
790 /// A 128-bit vector of [4 x u32].
791 /// \returns A 128-bit vector of [4 x u32] containing the greater values.
801 /// resulting 128-bit vector of [4 x float] is then returned.
812 /// A 128-bit vector source operand of [4 x float]. With the exception of
816 /// A 128-bit vector source operand of [4 x float]. One single-precision
836 /// \returns A 128-bit vector of [4 x float] containing the copied
840 /// Extracts a 32-bit integer from a 128-bit vector of [4 x float] and
853 /// A 128-bit vector of [4 x float].
882 /// Constructs a 128-bit vector of [16 x i8] by first making a copy of
883 /// the 128-bit integer vector parameter, and then inserting the lower 8 bits
896 /// A 128-bit integer vector of [16 x i8]. This vector is copied to the
921 /// \returns A 128-bit integer vector containing the constructed values.
926 /// Constructs a 128-bit vector of [4 x i32] by first making a copy of
927 /// the 128-bit integer vector parameter, and then inserting the 32-bit
940 /// A 128-bit integer vector of [4 x i32]. This vector is copied to the
953 /// \returns A 128-bit integer vector containing the constructed values.
959 /// Constructs a 128-bit vector of [2 x i64] by first making a copy of
960 /// the 128-bit integer vector parameter, and then inserting the 64-bit
973 /// A 128-bit integer vector of [2 x i64]. This vector is copied to the
984 /// \returns A 128-bit integer vector containing the constructed values.
993 /// Extracts an 8-bit element from the 128-bit integer vector of
1005 /// A 128-bit integer vector.
1026 /// 128-bit integer vector parameter and the remaining bits are assigned
1032 /// Extracts a 32-bit element from the 128-bit integer vector of
1044 /// A 128-bit integer vector.
1052 /// \returns An integer, whose lower 32 bits are selected from the 128-bit
1057 /// Extracts a 64-bit element from the 128-bit integer vector of
1070 /// A 128-bit integer vector.
1080 /* SSE4 128-bit Packed Integer Comparisons. */
1081 /// Tests whether the specified bits in a 128-bit integer vector are all
1089 /// A 128-bit integer vector containing the bits to be tested.
1091 /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1098 /// Tests whether the specified bits in a 128-bit integer vector are all
1106 /// A 128-bit integer vector containing the bits to be tested.
1108 /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1115 /// Tests whether the specified bits in a 128-bit integer vector are
1123 /// A 128-bit integer vector containing the bits to be tested.
1125 /// A 128-bit integer vector selecting which bits to test in operand \a __M.
1133 /// Tests whether the specified bits in a 128-bit integer vector are all
1145 /// A 128-bit integer vector containing the bits to be tested.
1150 /// Tests whether the specified bits in a 128-bit integer vector are
1156 /// int _mm_test_mix_ones_zeros(__m128i M, __m128i V);
1161 /// \param M
1162 /// A 128-bit integer vector containing the bits to be tested.
1164 /// A 128-bit integer vector selecting which bits to test in operand \a M.
1167 #define _mm_test_mix_ones_zeros(M, V) _mm_testnzc_si128((M), (V)) argument
1169 /// Tests whether the specified bits in a 128-bit integer vector are all
1175 /// int _mm_test_all_zeros(__m128i M, __m128i V);
1180 /// \param M
1181 /// A 128-bit integer vector containing the bits to be tested.
1183 /// A 128-bit integer vector selecting which bits to test in operand \a M.
1185 #define _mm_test_all_zeros(M, V) _mm_testz_si128((M), (V)) argument
1188 /// Compares each of the corresponding 64-bit values of the 128-bit
1198 /// A 128-bit integer vector.
1200 /// A 128-bit integer vector.
1201 /// \returns A 128-bit integer vector containing the comparison results.
1209 /// 128-bit vector of [16 x i8] to 16-bit values and returns them in a
1210 /// 128-bit vector of [8 x i16]. The upper eight elements of the input vector
1218 /// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
1220 /// \returns A 128-bit vector of [8 x i16] containing the sign-extended values.
1231 /// 128-bit vector of [16 x i8] to 32-bit values and returns them in a
1232 /// 128-bit vector of [4 x i32]. The upper twelve elements of the input
1240 /// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
1242 /// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1251 /// 128-bit integer vector of [16 x i8] to 64-bit values and returns them in
1252 /// a 128-bit vector of [2 x i64]. The upper fourteen elements of the input
1260 /// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
1262 /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1271 /// 128-bit integer vector of [8 x i16] to 32-bit values and returns them in
1272 /// a 128-bit vector of [4 x i32]. The upper four elements of the input
1280 /// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
1282 /// \returns A 128-bit vector of [4 x i32] containing the sign-extended values.
1289 /// 128-bit integer vector of [8 x i16] to 64-bit values and returns them in
1290 /// a 128-bit vector of [2 x i64]. The upper six elements of the input
1298 /// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
1300 /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1307 /// 128-bit integer vector of [4 x i32] to 64-bit values and returns them in
1308 /// a 128-bit vector of [2 x i64]. The upper two elements of the input vector
1316 /// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
1318 /// \returns A 128-bit vector of [2 x i64] containing the sign-extended values.
1326 /// 128-bit vector of [16 x i8] to 16-bit values and returns them in a
1327 /// 128-bit vector of [8 x i16]. The upper eight elements of the input vector
1335 /// A 128-bit vector of [16 x i8]. The lower eight 8-bit elements are
1337 /// \returns A 128-bit vector of [8 x i16] containing the zero-extended values.
1346 /// 128-bit vector of [16 x i8] to 32-bit values and returns them in a
1347 /// 128-bit vector of [4 x i32]. The upper twelve elements of the input
1355 /// A 128-bit vector of [16 x i8]. The lower four 8-bit elements are
1357 /// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1364 /// 128-bit integer vector of [16 x i8] to 64-bit values and returns them in
1365 /// a 128-bit vector of [2 x i64]. The upper fourteen elements of the input
1373 /// A 128-bit vector of [16 x i8]. The lower two 8-bit elements are
1375 /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1382 /// 128-bit integer vector of [8 x i16] to 32-bit values and returns them in
1383 /// a 128-bit vector of [4 x i32]. The upper four elements of the input
1391 /// A 128-bit vector of [8 x i16]. The lower four 16-bit elements are
1393 /// \returns A 128-bit vector of [4 x i32] containing the zero-extended values.
1400 /// 128-bit integer vector of [8 x i16] to 64-bit values and returns them in
1401 /// a 128-bit vector of [2 x i64]. The upper six elements of the input vector
1409 /// A 128-bit vector of [8 x i16]. The lower two 16-bit elements are
1411 /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1418 /// 128-bit integer vector of [4 x i32] to 64-bit values and returns them in
1419 /// a 128-bit vector of [2 x i64]. The upper two elements of the input vector
1427 /// A 128-bit vector of [4 x i32]. The lower two 32-bit elements are
1429 /// \returns A 128-bit vector of [2 x i64] containing the zero-extended values.
1436 /// Converts, with saturation, 32-bit signed integers from both 128-bit integer
1448 /// A 128-bit vector of [4 x i32]. The converted [4 x i16] values are
1451 /// A 128-bit vector of [4 x i32]. The converted [4 x i16] values are
1453 /// \returns A 128-bit vector of [8 x i16] containing the converted values.
1468 /// __m128i _mm_mpsadbw_epu8(__m128i X, __m128i Y, const int M);
1474 /// A 128-bit vector of [16 x i8].
1476 /// A 128-bit vector of [16 x i8].
1477 /// \param M
1493 /// \returns A 128-bit integer vector containing the sums of the sets of
1495 #define _mm_mpsadbw_epu8(X, Y, M) \ argument
1497 (__v16qi)(__m128i)(Y), (M)))
1499 /// Finds the minimum unsigned 16-bit element in the input 128-bit
1508 /// A 128-bit vector of [8 x u16].
1509 /// \returns A 128-bit value where bits [15:0] contain the minimum value found
1552 /// Uses the immediate operand \a M to perform a comparison of string
1554 /// \a A and \a B. Returns a 128-bit integer vector representing the result
1560 /// __m128i _mm_cmpistrm(__m128i A, __m128i B, const int M);
1567 /// A 128-bit integer vector containing one of the source operands to be
1570 /// A 128-bit integer vector containing one of the source operands to be
1572 /// \param M
1602 /// \returns Returns a 128-bit integer vector representing the result mask of
1604 #define _mm_cmpistrm(A, B, M) \ argument
1606 (__v16qi)(__m128i)(B), (int)(M)))
1608 /// Uses the immediate operand \a M to perform a comparison of string
1616 /// int _mm_cmpistri(__m128i A, __m128i B, const int M);
1623 /// A 128-bit integer vector containing one of the source operands to be
1626 /// A 128-bit integer vector containing one of the source operands to be
1628 /// \param M
1658 #define _mm_cmpistri(A, B, M) \ argument
1660 (__v16qi)(__m128i)(B), (int)(M)))
1662 /// Uses the immediate operand \a M to perform a comparison of string
1664 /// \a A and \a B. Returns a 128-bit integer vector representing the result
1670 /// __m128i _mm_cmpestrm(__m128i A, int LA, __m128i B, int LB, const int M);
1677 /// A 128-bit integer vector containing one of the source operands to be
1682 /// A 128-bit integer vector containing one of the source operands to be
1686 /// \param M
1716 /// \returns Returns a 128-bit integer vector representing the result mask of
1718 #define _mm_cmpestrm(A, LA, B, LB, M) \ argument
1721 (int)(M)))
1723 /// Uses the immediate operand \a M to perform a comparison of string
1731 /// int _mm_cmpestri(__m128i A, int LA, __m128i B, int LB, const int M);
1738 /// A 128-bit integer vector containing one of the source operands to be
1743 /// A 128-bit integer vector containing one of the source operands to be
1747 /// \param M
1777 #define _mm_cmpestri(A, LA, B, LB, M) \ argument
1780 (int)(M)))
1783 /// Uses the immediate operand \a M to perform a comparison of string
1791 /// int _mm_cmpistra(__m128i A, __m128i B, const int M);
1798 /// A 128-bit integer vector containing one of the source operands to be
1801 /// A 128-bit integer vector containing one of the source operands to be
1803 /// \param M
1829 #define _mm_cmpistra(A, B, M) \ argument
1831 (__v16qi)(__m128i)(B), (int)(M)))
1833 /// Uses the immediate operand \a M to perform a comparison of string
1841 /// int _mm_cmpistrc(__m128i A, __m128i B, const int M);
1848 /// A 128-bit integer vector containing one of the source operands to be
1851 /// A 128-bit integer vector containing one of the source operands to be
1853 /// \param M
1878 #define _mm_cmpistrc(A, B, M) \ argument
1880 (__v16qi)(__m128i)(B), (int)(M)))
1882 /// Uses the immediate operand \a M to perform a comparison of string
1889 /// int _mm_cmpistro(__m128i A, __m128i B, const int M);
1896 /// A 128-bit integer vector containing one of the source operands to be
1899 /// A 128-bit integer vector containing one of the source operands to be
1901 /// \param M
1926 #define _mm_cmpistro(A, B, M) \ argument
1928 (__v16qi)(__m128i)(B), (int)(M)))
1930 /// Uses the immediate operand \a M to perform a comparison of string
1938 /// int _mm_cmpistrs(__m128i A, __m128i B, const int M);
1945 /// A 128-bit integer vector containing one of the source operands to be
1948 /// A 128-bit integer vector containing one of the source operands to be
1950 /// \param M
1976 #define _mm_cmpistrs(A, B, M) \ argument
1978 (__v16qi)(__m128i)(B), (int)(M)))
1980 /// Uses the immediate operand \a M to perform a comparison of string
1988 /// int _mm_cmpistrz(__m128i A, __m128i B, const int M);
1995 /// A 128-bit integer vector containing one of the source operands to be
1998 /// A 128-bit integer vector containing one of the source operands to be
2000 /// \param M
2026 #define _mm_cmpistrz(A, B, M) \ argument
2028 (__v16qi)(__m128i)(B), (int)(M)))
2030 /// Uses the immediate operand \a M to perform a comparison of string
2038 /// int _mm_cmpestra(__m128i A, int LA, __m128i B, int LB, const int M);
2045 /// A 128-bit integer vector containing one of the source operands to be
2050 /// A 128-bit integer vector containing one of the source operands to be
2054 /// \param M
2080 #define _mm_cmpestra(A, LA, B, LB, M) \ argument
2083 (int)(M)))
2085 /// Uses the immediate operand \a M to perform a comparison of string
2093 /// int _mm_cmpestrc(__m128i A, int LA, __m128i B, int LB, const int M);
2100 /// A 128-bit integer vector containing one of the source operands to be
2105 /// A 128-bit integer vector containing one of the source operands to be
2109 /// \param M
2134 #define _mm_cmpestrc(A, LA, B, LB, M) \ argument
2137 (int)(M)))
2139 /// Uses the immediate operand \a M to perform a comparison of string
2146 /// int _mm_cmpestro(__m128i A, int LA, __m128i B, int LB, const int M);
2153 /// A 128-bit integer vector containing one of the source operands to be
2158 /// A 128-bit integer vector containing one of the source operands to be
2162 /// \param M
2187 #define _mm_cmpestro(A, LA, B, LB, M) \ argument
2190 (int)(M)))
2192 /// Uses the immediate operand \a M to perform a comparison of string
2200 /// int _mm_cmpestrs(__m128i A, int LA, __m128i B, int LB, const int M);
2207 /// A 128-bit integer vector containing one of the source operands to be
2212 /// A 128-bit integer vector containing one of the source operands to be
2216 /// \param M
2242 #define _mm_cmpestrs(A, LA, B, LB, M) \ argument
2245 (int)(M)))
2247 /// Uses the immediate operand \a M to perform a comparison of string
2255 /// int _mm_cmpestrz(__m128i A, int LA, __m128i B, int LB, const int M);
2261 /// A 128-bit integer vector containing one of the source operands to be
2266 /// A 128-bit integer vector containing one of the source operands to be
2270 /// \param M
2296 #define _mm_cmpestrz(A, LA, B, LB, M) \ argument
2299 (int)(M)))
2302 /// Compares each of the corresponding 64-bit values of the 128-bit
2313 /// A 128-bit integer vector.
2315 /// A 128-bit integer vector.
2316 /// \returns A 128-bit integer vector containing the comparison results.