@@ -9092,21 +9092,16 @@ pub unsafe fn _mm512_maskz_alignr_epi8<const IMM8: i32>(
90929092/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm256_mask_alignr_epi8&expand=261)
90939093#[inline]
90949094#[target_feature(enable = "avx512bw,avx512vl")]
9095- #[rustc_args_required_const (4)]
9096- #[cfg_attr(test, assert_instr(vpalignr, imm8 = 5))]
9097- pub unsafe fn _mm256_mask_alignr_epi8(
9095+ #[rustc_legacy_const_generics (4)]
9096+ #[cfg_attr(test, assert_instr(vpalignr, IMM8 = 5))]
9097+ pub unsafe fn _mm256_mask_alignr_epi8<const IMM8: i32> (
90989098 src: __m256i,
90999099 k: __mmask32,
91009100 a: __m256i,
91019101 b: __m256i,
9102- imm8: i32,
91039102) -> __m256i {
9104- macro_rules! call {
9105- ($imm8:expr) => {
9106- _mm256_alignr_epi8(a, b, $imm8)
9107- };
9108- }
9109- let r = constify_imm8_sae!(imm8, call);
9103+ static_assert_imm8!(IMM8);
9104+ let r = _mm256_alignr_epi8(a, b, IMM8);
91109105 transmute(simd_select_bitmask(k, r.as_i8x32(), src.as_i8x32()))
91119106}
91129107
@@ -17753,9 +17748,9 @@ mod tests {
1775317748 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
1775417749 );
1775517750 let b = _mm256_set1_epi8(1);
17756- let r = _mm256_mask_alignr_epi8(a, 0, a, b, 14 );
17751+ let r = _mm256_mask_alignr_epi8::<14> (a, 0, a, b);
1775717752 assert_eq_m256i(r, a);
17758- let r = _mm256_mask_alignr_epi8(a, 0b11111111_11111111_11111111_11111111, a, b, 14 );
17753+ let r = _mm256_mask_alignr_epi8::<14> (a, 0b11111111_11111111_11111111_11111111, a, b);
1775917754 #[rustfmt::skip]
1776017755 let e = _mm256_set_epi8(
1776117756 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1,
0 commit comments