Skip to content

Commit fa908e4

Browse files
lqdAmanieu
authored andcommitted
convert _mm256_mask_alignr_epi8 to const generics
1 parent e803536 commit fa908e4

File tree

1 file changed

+7
-12
lines changed

1 file changed

+7
-12
lines changed

crates/core_arch/src/x86/avx512bw.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)