@@ -1574,14 +1574,6 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1574
1574
(__v4df)(__m256d)(b), (int)(mask)))
1575
1575
1576
1576
/* Compare */
1577
- #define _CMP_EQ_OQ 0x00 /* Equal (ordered, non-signaling) */
1578
- #define _CMP_LT_OS 0x01 /* Less-than (ordered, signaling) */
1579
- #define _CMP_LE_OS 0x02 /* Less-than-or-equal (ordered, signaling) */
1580
- #define _CMP_UNORD_Q 0x03 /* Unordered (non-signaling) */
1581
- #define _CMP_NEQ_UQ 0x04 /* Not-equal (unordered, non-signaling) */
1582
- #define _CMP_NLT_US 0x05 /* Not-less-than (unordered, signaling) */
1583
- #define _CMP_NLE_US 0x06 /* Not-less-than-or-equal (unordered, signaling) */
1584
- #define _CMP_ORD_Q 0x07 /* Ordered (non-signaling) */
1585
1577
#define _CMP_EQ_UQ 0x08 /* Equal (unordered, non-signaling) */
1586
1578
#define _CMP_NGE_US 0x09 /* Not-greater-than-or-equal (unordered, signaling) */
1587
1579
#define _CMP_NGT_US 0x0a /* Not-greater-than (unordered, signaling) */
@@ -1607,6 +1599,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1607
1599
#define _CMP_GT_OQ 0x1e /* Greater-than (ordered, non-signaling) */
1608
1600
#define _CMP_TRUE_US 0x1f /* True (unordered, signaling) */
1609
1601
1602
+ /* Below intrinsic defined in emmintrin.h can be used for AVX */
1610
1603
/// Compares each of the corresponding double-precision values of two
1611
1604
/// 128-bit vectors of [2 x double], using the operation specified by the
1612
1605
/// immediate integer operand.
@@ -1663,10 +1656,9 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1663
1656
/// 0x1E: Greater-than (ordered, non-signaling) \n
1664
1657
/// 0x1F: True (unordered, signaling)
1665
1658
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
1666
- #define _mm_cmp_pd (a , b , c ) \
1667
- ((__m128d)__builtin_ia32_cmppd((__v2df)(__m128d)(a), \
1668
- (__v2df)(__m128d)(b), (c)))
1659
+ /// \fn __m128d _mm_cmp_pd(__m128d a, __m128d b, const int c)
1669
1660
1661
+ /* Below intrinsic defined in xmmintrin.h can be used for AVX */
1670
1662
/// Compares each of the corresponding values of two 128-bit vectors of
1671
1663
/// [4 x float], using the operation specified by the immediate integer
1672
1664
/// operand.
@@ -1723,9 +1715,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1723
1715
/// 0x1E: Greater-than (ordered, non-signaling) \n
1724
1716
/// 0x1F: True (unordered, signaling)
1725
1717
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
1726
- #define _mm_cmp_ps (a , b , c ) \
1727
- ((__m128)__builtin_ia32_cmpps((__v4sf)(__m128)(a), \
1728
- (__v4sf)(__m128)(b), (c)))
1718
+ /// \fn __m128 _mm_cmp_ps(__m128 a, __m128 b, const int c)
1729
1719
1730
1720
/// Compares each of the corresponding double-precision values of two
1731
1721
/// 256-bit vectors of [4 x double], using the operation specified by the
@@ -1847,6 +1837,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1847
1837
((__m256)__builtin_ia32_cmpps256((__v8sf)(__m256)(a), \
1848
1838
(__v8sf)(__m256)(b), (c)))
1849
1839
1840
+ /* Below intrinsic defined in emmintrin.h can be used for AVX */
1850
1841
/// Compares each of the corresponding scalar double-precision values of
1851
1842
/// two 128-bit vectors of [2 x double], using the operation specified by the
1852
1843
/// immediate integer operand.
@@ -1902,10 +1893,9 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1902
1893
/// 0x1E: Greater-than (ordered, non-signaling) \n
1903
1894
/// 0x1F: True (unordered, signaling)
1904
1895
/// \returns A 128-bit vector of [2 x double] containing the comparison results.
1905
- #define _mm_cmp_sd (a , b , c ) \
1906
- ((__m128d)__builtin_ia32_cmpsd((__v2df)(__m128d)(a), \
1907
- (__v2df)(__m128d)(b), (c)))
1896
+ /// \fn __m128d _mm_cmp_sd(__m128d a, __m128d b, const int c)
1908
1897
1898
+ /* Below intrinsic defined in xmmintrin.h can be used for AVX */
1909
1899
/// Compares each of the corresponding scalar values of two 128-bit
1910
1900
/// vectors of [4 x float], using the operation specified by the immediate
1911
1901
/// integer operand.
@@ -1961,9 +1951,7 @@ _mm256_blendv_ps(__m256 __a, __m256 __b, __m256 __c)
1961
1951
/// 0x1E: Greater-than (ordered, non-signaling) \n
1962
1952
/// 0x1F: True (unordered, signaling)
1963
1953
/// \returns A 128-bit vector of [4 x float] containing the comparison results.
1964
- #define _mm_cmp_ss (a , b , c ) \
1965
- ((__m128)__builtin_ia32_cmpss((__v4sf)(__m128)(a), \
1966
- (__v4sf)(__m128)(b), (c)))
1954
+ /// \fn __m128 _mm_cmp_ss(__m128 a, __m128 b, const int c)
1967
1955
1968
1956
/// Takes a [8 x i32] vector and returns the vector element value
1969
1957
/// indexed by the immediate constant operand.
0 commit comments