@@ -1014,7 +1014,7 @@ pub unsafe fn _mm512_mask_cmpgt_epu32_mask(m: __mmask16, a: __m512i, b: __m512i)
1014
1014
#[ target_feature( enable = "avx512f" ) ]
1015
1015
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1016
1016
pub unsafe fn _mm512_cmple_epu32_mask ( a : __m512i , b : __m512i ) -> __mmask16 {
1017
- _mm512_cmpgt_epu32_mask ( b , a )
1017
+ simd_bitmask :: < u32x16 , _ > ( simd_le ( a . as_u32x16 ( ) , b . as_u32x16 ( ) ) )
1018
1018
}
1019
1019
1020
1020
/// Compare packed unsigned 32-bit integers in a and b for less-than-or-equal, and store the results in a mask vector k
@@ -1025,7 +1025,7 @@ pub unsafe fn _mm512_cmple_epu32_mask(a: __m512i, b: __m512i) -> __mmask16 {
1025
1025
#[ target_feature( enable = "avx512f" ) ]
1026
1026
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1027
1027
pub unsafe fn _mm512_mask_cmple_epu32_mask ( m : __mmask16 , a : __m512i , b : __m512i ) -> __mmask16 {
1028
- _mm512_cmpgt_epu32_mask ( b , a ) & m
1028
+ _mm512_cmple_epu32_mask ( a , b ) & m
1029
1029
}
1030
1030
1031
1031
/// Compare packed unsigned 32-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector.
@@ -1035,7 +1035,7 @@ pub unsafe fn _mm512_mask_cmple_epu32_mask(m: __mmask16, a: __m512i, b: __m512i)
1035
1035
#[ target_feature( enable = "avx512f" ) ]
1036
1036
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1037
1037
pub unsafe fn _mm512_cmpge_epu32_mask ( a : __m512i , b : __m512i ) -> __mmask16 {
1038
- _mm512_cmplt_epu32_mask ( b , a )
1038
+ simd_bitmask :: < u32x16 , _ > ( simd_ge ( a . as_u32x16 ( ) , b . as_u32x16 ( ) ) )
1039
1039
}
1040
1040
1041
1041
/// Compare packed unsigned 32-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector k
@@ -1046,7 +1046,7 @@ pub unsafe fn _mm512_cmpge_epu32_mask(a: __m512i, b: __m512i) -> __mmask16 {
1046
1046
#[ target_feature( enable = "avx512f" ) ]
1047
1047
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1048
1048
pub unsafe fn _mm512_mask_cmpge_epu32_mask ( m : __mmask16 , a : __m512i , b : __m512i ) -> __mmask16 {
1049
- _mm512_cmplt_epu32_mask ( b , a ) & m
1049
+ _mm512_cmpge_epu32_mask ( a , b ) & m
1050
1050
}
1051
1051
1052
1052
/// Compare packed unsigned 32-bit integers in a and b for equality, and store the results in a mask vector.
@@ -1181,7 +1181,7 @@ pub unsafe fn _mm512_mask_cmpgt_epi32_mask(m: __mmask16, a: __m512i, b: __m512i)
1181
1181
#[ target_feature( enable = "avx512f" ) ]
1182
1182
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1183
1183
pub unsafe fn _mm512_cmple_epi32_mask ( a : __m512i , b : __m512i ) -> __mmask16 {
1184
- _mm512_cmpgt_epi32_mask ( b , a )
1184
+ simd_bitmask :: < i32x16 , _ > ( simd_le ( a . as_i32x16 ( ) , b . as_i32x16 ( ) ) )
1185
1185
}
1186
1186
1187
1187
/// Compare packed signed 32-bit integers in a and b for less-than-or-equal, and store the results in a mask vector k
@@ -1192,7 +1192,7 @@ pub unsafe fn _mm512_cmple_epi32_mask(a: __m512i, b: __m512i) -> __mmask16 {
1192
1192
#[ target_feature( enable = "avx512f" ) ]
1193
1193
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1194
1194
pub unsafe fn _mm512_mask_cmple_epi32_mask ( m : __mmask16 , a : __m512i , b : __m512i ) -> __mmask16 {
1195
- _mm512_cmpgt_epi32_mask ( b , a ) & m
1195
+ _mm512_cmple_epi32_mask ( a , b ) & m
1196
1196
}
1197
1197
1198
1198
/// Compare packed signed 32-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector.
@@ -1202,7 +1202,7 @@ pub unsafe fn _mm512_mask_cmple_epi32_mask(m: __mmask16, a: __m512i, b: __m512i)
1202
1202
#[ target_feature( enable = "avx512f" ) ]
1203
1203
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1204
1204
pub unsafe fn _mm512_cmpge_epi32_mask ( a : __m512i , b : __m512i ) -> __mmask16 {
1205
- _mm512_cmplt_epi32_mask ( b , a )
1205
+ simd_bitmask :: < i32x16 , _ > ( simd_ge ( a . as_i32x16 ( ) , b . as_i32x16 ( ) ) )
1206
1206
}
1207
1207
1208
1208
/// Compare packed signed 32-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector k
@@ -1213,7 +1213,7 @@ pub unsafe fn _mm512_cmpge_epi32_mask(a: __m512i, b: __m512i) -> __mmask16 {
1213
1213
#[ target_feature( enable = "avx512f" ) ]
1214
1214
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1215
1215
pub unsafe fn _mm512_mask_cmpge_epi32_mask ( m : __mmask16 , a : __m512i , b : __m512i ) -> __mmask16 {
1216
- _mm512_cmplt_epi32_mask ( b , a ) & m
1216
+ _mm512_cmpge_epi32_mask ( a , b ) & m
1217
1217
}
1218
1218
1219
1219
/// Compare packed signed 32-bit integers in a and b for equality, and store the results in a mask vector.
@@ -1348,7 +1348,7 @@ pub unsafe fn _mm512_mask_cmpgt_epu64_mask(m: __mmask8, a: __m512i, b: __m512i)
1348
1348
#[ target_feature( enable = "avx512f" ) ]
1349
1349
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1350
1350
pub unsafe fn _mm512_cmple_epu64_mask ( a : __m512i , b : __m512i ) -> __mmask8 {
1351
- _mm512_cmpgt_epu64_mask ( b , a )
1351
+ simd_bitmask :: < __m512i , _ > ( simd_le ( a . as_u64x8 ( ) , b . as_u64x8 ( ) ) )
1352
1352
}
1353
1353
1354
1354
/// Compare packed unsigned 64-bit integers in a and b for less-than-or-equal, and store the results in a mask vector k
@@ -1359,7 +1359,7 @@ pub unsafe fn _mm512_cmple_epu64_mask(a: __m512i, b: __m512i) -> __mmask8 {
1359
1359
#[ target_feature( enable = "avx512f" ) ]
1360
1360
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1361
1361
pub unsafe fn _mm512_mask_cmple_epu64_mask ( m : __mmask8 , a : __m512i , b : __m512i ) -> __mmask8 {
1362
- _mm512_cmpgt_epu64_mask ( b , a ) & m
1362
+ _mm512_cmple_epu64_mask ( a , b ) & m
1363
1363
}
1364
1364
1365
1365
/// Compare packed unsigned 64-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector.
@@ -1369,7 +1369,7 @@ pub unsafe fn _mm512_mask_cmple_epu64_mask(m: __mmask8, a: __m512i, b: __m512i)
1369
1369
#[ target_feature( enable = "avx512f" ) ]
1370
1370
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1371
1371
pub unsafe fn _mm512_cmpge_epu64_mask ( a : __m512i , b : __m512i ) -> __mmask8 {
1372
- _mm512_cmplt_epu64_mask ( b , a )
1372
+ simd_bitmask :: < __m512i , _ > ( simd_ge ( a . as_u64x8 ( ) , b . as_u64x8 ( ) ) )
1373
1373
}
1374
1374
1375
1375
/// Compare packed unsigned 64-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector k
@@ -1380,7 +1380,7 @@ pub unsafe fn _mm512_cmpge_epu64_mask(a: __m512i, b: __m512i) -> __mmask8 {
1380
1380
#[ target_feature( enable = "avx512f" ) ]
1381
1381
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1382
1382
pub unsafe fn _mm512_mask_cmpge_epu64_mask ( m : __mmask8 , a : __m512i , b : __m512i ) -> __mmask8 {
1383
- _mm512_cmplt_epu64_mask ( b, a) & m
1383
+ _mm512_cmpge_epu64_mask ( b, a) & m
1384
1384
}
1385
1385
1386
1386
/// Compare packed unsigned 64-bit integers in a and b for equality, and store the results in a mask vector.
@@ -1515,7 +1515,7 @@ pub unsafe fn _mm512_mask_cmpgt_epi64_mask(m: __mmask8, a: __m512i, b: __m512i)
1515
1515
#[ target_feature( enable = "avx512f" ) ]
1516
1516
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1517
1517
pub unsafe fn _mm512_cmple_epi64_mask ( a : __m512i , b : __m512i ) -> __mmask8 {
1518
- _mm512_cmpgt_epi64_mask ( b , a )
1518
+ simd_bitmask :: < __m512i , _ > ( simd_le ( a . as_i64x8 ( ) , b . as_i64x8 ( ) ) )
1519
1519
}
1520
1520
1521
1521
/// Compare packed signed 64-bit integers in a and b for less-than-or-equal, and store the results in a mask vector k
@@ -1526,7 +1526,7 @@ pub unsafe fn _mm512_cmple_epi64_mask(a: __m512i, b: __m512i) -> __mmask8 {
1526
1526
#[ target_feature( enable = "avx512f" ) ]
1527
1527
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1528
1528
pub unsafe fn _mm512_mask_cmple_epi64_mask ( m : __mmask8 , a : __m512i , b : __m512i ) -> __mmask8 {
1529
- _mm512_cmpgt_epi64_mask ( b , a ) & m
1529
+ _mm512_cmple_epi64_mask ( a , b ) & m
1530
1530
}
1531
1531
1532
1532
/// Compare packed signed 64-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector.
@@ -1536,7 +1536,7 @@ pub unsafe fn _mm512_mask_cmple_epi64_mask(m: __mmask8, a: __m512i, b: __m512i)
1536
1536
#[ target_feature( enable = "avx512f" ) ]
1537
1537
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1538
1538
pub unsafe fn _mm512_cmpge_epi64_mask ( a : __m512i , b : __m512i ) -> __mmask8 {
1539
- _mm512_cmplt_epi64_mask ( b , a )
1539
+ simd_bitmask :: < __m512i , _ > ( simd_ge ( a . as_i64x8 ( ) , b . as_i64x8 ( ) ) )
1540
1540
}
1541
1541
1542
1542
/// Compare packed signed 64-bit integers in a and b for greater-than-or-equal, and store the results in a mask vector k
@@ -1547,7 +1547,7 @@ pub unsafe fn _mm512_cmpge_epi64_mask(a: __m512i, b: __m512i) -> __mmask8 {
1547
1547
#[ target_feature( enable = "avx512f" ) ]
1548
1548
#[ cfg_attr( test, assert_instr( vpcmp) ) ]
1549
1549
pub unsafe fn _mm512_mask_cmpge_epi64_mask ( m : __mmask8 , a : __m512i , b : __m512i ) -> __mmask8 {
1550
- _mm512_cmplt_epi64_mask ( b, a) & m
1550
+ _mm512_cmpge_epi64_mask ( b, a) & m
1551
1551
}
1552
1552
1553
1553
/// Compare packed signed 64-bit integers in a and b for equality, and store the results in a mask vector.
@@ -1987,7 +1987,10 @@ mod tests {
1987
1987
let a = _mm512_set_epi32 ( 0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ,
1988
1988
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
1989
1989
let b = _mm512_set1_epi32 ( -1 ) ;
1990
- assert_eq ! ( _mm512_cmple_epu32_mask( a, b) , _mm512_cmpgt_epu32_mask( b, a) )
1990
+ assert_eq ! (
1991
+ _mm512_cmple_epu32_mask( a, b) ,
1992
+ !_mm512_cmpgt_epu32_mask( a, b)
1993
+ )
1991
1994
}
1992
1995
1993
1996
#[ simd_test( enable = "avx512f" ) ]
@@ -1999,7 +2002,7 @@ mod tests {
1999
2002
let mask = 0b01111010_01111010 ;
2000
2003
assert_eq ! (
2001
2004
_mm512_mask_cmple_epu32_mask( mask, a, b) ,
2002
- _mm512_mask_cmpgt_epu32_mask ( mask , b , a )
2005
+ 0b01111010_01111010
2003
2006
) ;
2004
2007
}
2005
2008
@@ -2009,7 +2012,10 @@ mod tests {
2009
2012
let a = _mm512_set_epi32 ( 0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ,
2010
2013
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
2011
2014
let b = _mm512_set1_epi32 ( -1 ) ;
2012
- assert_eq ! ( _mm512_cmpge_epu32_mask( a, b) , _mm512_cmplt_epu32_mask( b, a) )
2015
+ assert_eq ! (
2016
+ _mm512_cmpge_epu32_mask( a, b) ,
2017
+ !_mm512_cmplt_epu32_mask( a, b)
2018
+ )
2013
2019
}
2014
2020
2015
2021
#[ simd_test( enable = "avx512f" ) ]
@@ -2019,10 +2025,7 @@ mod tests {
2019
2025
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
2020
2026
let b = _mm512_set1_epi32 ( -1 ) ;
2021
2027
let mask = 0b01111010_01111010 ;
2022
- assert_eq ! (
2023
- _mm512_mask_cmpge_epu32_mask( mask, a, b) ,
2024
- _mm512_mask_cmplt_epu32_mask( mask, b, a)
2025
- ) ;
2028
+ assert_eq ! ( _mm512_mask_cmpge_epu32_mask( mask, a, b) , 0b01100000_0110000 ) ;
2026
2029
}
2027
2030
2028
2031
#[ simd_test( enable = "avx512f" ) ]
@@ -2144,7 +2147,10 @@ mod tests {
2144
2147
let a = _mm512_set_epi32 ( 0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ,
2145
2148
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
2146
2149
let b = _mm512_set1_epi32 ( -1 ) ;
2147
- assert_eq ! ( _mm512_cmple_epi32_mask( a, b) , _mm512_cmpgt_epi32_mask( b, a) )
2150
+ assert_eq ! (
2151
+ _mm512_cmple_epi32_mask( a, b) ,
2152
+ !_mm512_cmpgt_epi32_mask( a, b)
2153
+ )
2148
2154
}
2149
2155
2150
2156
#[ simd_test( enable = "avx512f" ) ]
@@ -2154,10 +2160,7 @@ mod tests {
2154
2160
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
2155
2161
let b = _mm512_set1_epi32 ( -1 ) ;
2156
2162
let mask = 0b01111010_01111010 ;
2157
- assert_eq ! (
2158
- _mm512_mask_cmple_epi32_mask( mask, a, b) ,
2159
- _mm512_mask_cmpgt_epi32_mask( mask, b, a)
2160
- ) ;
2163
+ assert_eq ! ( _mm512_mask_cmple_epi32_mask( mask, a, b) , 0b01100000_0110000 ) ;
2161
2164
}
2162
2165
2163
2166
#[ simd_test( enable = "avx512f" ) ]
@@ -2166,7 +2169,10 @@ mod tests {
2166
2169
let a = _mm512_set_epi32 ( 0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ,
2167
2170
0 , 1 , -1 , u32:: MAX as i32 , i32:: MAX , i32:: MIN , 100 , -100 ) ;
2168
2171
let b = _mm512_set1_epi32 ( -1 ) ;
2169
- assert_eq ! ( _mm512_cmpge_epi32_mask( a, b) , _mm512_cmplt_epi32_mask( b, a) )
2172
+ assert_eq ! (
2173
+ _mm512_cmpge_epi32_mask( a, b) ,
2174
+ !_mm512_cmplt_epi32_mask( a, b)
2175
+ )
2170
2176
}
2171
2177
2172
2178
#[ simd_test( enable = "avx512f" ) ]
@@ -2178,7 +2184,7 @@ mod tests {
2178
2184
let mask = 0b01111010_01111010 ;
2179
2185
assert_eq ! (
2180
2186
_mm512_mask_cmpge_epi32_mask( mask, a, b) ,
2181
- _mm512_mask_cmplt_epi32_mask ( mask , b , a )
2187
+ 0b01111010_01111010
2182
2188
) ;
2183
2189
}
2184
2190
0 commit comments