@@ -573,9 +573,6 @@ pub unsafe fn _mm256_movemask_epi8(a: i8x32) -> i32 {
573
573
pmovmskb ( a)
574
574
}
575
575
576
- /*
577
- LLVM ERROR: Cannot select: intrinsic %llvm.x86.avx2.mpsadbw
578
-
579
576
/// Compute the sum of absolute differences (SADs) of quadruplets of unsigned
580
577
/// 8-bit integers in `a` compared to those in `b`, and store the 16-bit
581
578
/// results in dst. Eight SADs are performed for each 128-bit lane using one
@@ -585,11 +582,13 @@ LLVM ERROR: Cannot select: intrinsic %llvm.x86.avx2.mpsadbw
585
582
/// starting at the offset specified in `imm8`.
586
583
#[ inline( always) ]
587
584
#[ target_feature = "+avx2" ]
588
- #[cfg_attr(test, assert_instr(vmpsadbw))]
585
+ #[ cfg_attr( test, assert_instr( vmpsadbw, imm8 = 0 ) ) ]
589
586
pub unsafe fn _mm256_mpsadbw_epu8 ( a : u8x32 , b : u8x32 , imm8 : i32 ) -> u16x16 {
590
- mpsadbw(a, b, imm8)
587
+ macro_rules! call {
588
+ ( $imm8: expr) => ( mpsadbw( a, b, $imm8) )
589
+ }
590
+ constify_imm8 ! ( imm8, call)
591
591
}
592
- */
593
592
594
593
/// Multiply the low 32-bit integers from each packed 64-bit element in
595
594
/// `a` and `b`
@@ -1767,7 +1766,6 @@ mod tests {
1767
1766
assert_eq ! ( r, e) ;
1768
1767
}
1769
1768
1770
- /*
1771
1769
#[ simd_test = "avx2" ]
1772
1770
unsafe fn _mm256_mpsadbw_epu8 ( ) {
1773
1771
let a = u8x32:: splat ( 2 ) ;
@@ -1776,7 +1774,6 @@ mod tests {
1776
1774
let e = u16x16:: splat ( 8 ) ;
1777
1775
assert_eq ! ( r, e) ;
1778
1776
}
1779
- */
1780
1777
1781
1778
#[ simd_test = "avx2" ]
1782
1779
unsafe fn _mm256_mul_epi32 ( ) {
0 commit comments