@@ -6523,10 +6523,11 @@ pub fn _mm_maskz_maddubs_epi16(k: __mmask8, a: __m128i, b: __m128i) -> __m128i {
65236523#[target_feature(enable = "avx512bw")]
65246524#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
65256525#[cfg_attr(test, assert_instr(vpackssdw))]
6526- pub fn _mm512_packs_epi32(a: __m512i, b: __m512i) -> __m512i {
6526+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6527+ pub const fn _mm512_packs_epi32(a: __m512i, b: __m512i) -> __m512i {
65276528 unsafe {
6528- let max = simd_splat(i32::from( i16::MAX) );
6529- let min = simd_splat(i32::from( i16::MIN) );
6529+ let max = simd_splat(i16::MAX as i32 );
6530+ let min = simd_splat(i16::MIN as i32 );
65306531
65316532 let clamped_a = simd_imax(simd_imin(a.as_i32x16(), max), min)
65326533 .as_m512i()
@@ -6559,7 +6560,13 @@ pub fn _mm512_packs_epi32(a: __m512i, b: __m512i) -> __m512i {
65596560#[target_feature(enable = "avx512bw")]
65606561#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
65616562#[cfg_attr(test, assert_instr(vpackssdw))]
6562- pub fn _mm512_mask_packs_epi32(src: __m512i, k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
6563+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6564+ pub const fn _mm512_mask_packs_epi32(
6565+ src: __m512i,
6566+ k: __mmask32,
6567+ a: __m512i,
6568+ b: __m512i,
6569+ ) -> __m512i {
65636570 unsafe {
65646571 let pack = _mm512_packs_epi32(a, b).as_i16x32();
65656572 transmute(simd_select_bitmask(k, pack, src.as_i16x32()))
@@ -6573,7 +6580,8 @@ pub fn _mm512_mask_packs_epi32(src: __m512i, k: __mmask32, a: __m512i, b: __m512
65736580#[target_feature(enable = "avx512bw")]
65746581#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
65756582#[cfg_attr(test, assert_instr(vpackssdw))]
6576- pub fn _mm512_maskz_packs_epi32(k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
6583+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6584+ pub const fn _mm512_maskz_packs_epi32(k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
65776585 unsafe {
65786586 let pack = _mm512_packs_epi32(a, b).as_i16x32();
65796587 transmute(simd_select_bitmask(k, pack, i16x32::ZERO))
@@ -6651,10 +6659,11 @@ pub const fn _mm_maskz_packs_epi32(k: __mmask8, a: __m128i, b: __m128i) -> __m12
66516659#[target_feature(enable = "avx512bw")]
66526660#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
66536661#[cfg_attr(test, assert_instr(vpacksswb))]
6654- pub fn _mm512_packs_epi16(a: __m512i, b: __m512i) -> __m512i {
6662+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6663+ pub const fn _mm512_packs_epi16(a: __m512i, b: __m512i) -> __m512i {
66556664 unsafe {
6656- let max = simd_splat(i16::from( i8::MAX) );
6657- let min = simd_splat(i16::from( i8::MIN) );
6665+ let max = simd_splat(i8::MAX as i16 );
6666+ let min = simd_splat(i8::MIN as i16 );
66586667
66596668 let clamped_a = simd_imax(simd_imin(a.as_i16x32(), max), min)
66606669 .as_m512i()
@@ -6687,7 +6696,13 @@ pub fn _mm512_packs_epi16(a: __m512i, b: __m512i) -> __m512i {
66876696#[target_feature(enable = "avx512bw")]
66886697#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
66896698#[cfg_attr(test, assert_instr(vpacksswb))]
6690- pub fn _mm512_mask_packs_epi16(src: __m512i, k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
6699+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6700+ pub const fn _mm512_mask_packs_epi16(
6701+ src: __m512i,
6702+ k: __mmask64,
6703+ a: __m512i,
6704+ b: __m512i,
6705+ ) -> __m512i {
66916706 unsafe {
66926707 let pack = _mm512_packs_epi16(a, b).as_i8x64();
66936708 transmute(simd_select_bitmask(k, pack, src.as_i8x64()))
@@ -6701,7 +6716,8 @@ pub fn _mm512_mask_packs_epi16(src: __m512i, k: __mmask64, a: __m512i, b: __m512
67016716#[target_feature(enable = "avx512bw")]
67026717#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
67036718#[cfg_attr(test, assert_instr(vpacksswb))]
6704- pub fn _mm512_maskz_packs_epi16(k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
6719+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6720+ pub const fn _mm512_maskz_packs_epi16(k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
67056721 unsafe {
67066722 let pack = _mm512_packs_epi16(a, b).as_i8x64();
67076723 transmute(simd_select_bitmask(k, pack, i8x64::ZERO))
@@ -6780,10 +6796,11 @@ pub const fn _mm_maskz_packs_epi16(k: __mmask16, a: __m128i, b: __m128i) -> __m1
67806796#[target_feature(enable = "avx512bw")]
67816797#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
67826798#[cfg_attr(test, assert_instr(vpackusdw))]
6783- pub fn _mm512_packus_epi32(a: __m512i, b: __m512i) -> __m512i {
6799+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6800+ pub const fn _mm512_packus_epi32(a: __m512i, b: __m512i) -> __m512i {
67846801 unsafe {
6785- let max = simd_splat(i32::from( u16::MAX) );
6786- let min = simd_splat(i32::from( u16::MIN) );
6802+ let max = simd_splat(u16::MAX as i32 );
6803+ let min = simd_splat(u16::MIN as i32 );
67876804
67886805 let clamped_a = simd_imax(simd_imin(a.as_i32x16(), max), min)
67896806 .as_m512i()
@@ -6816,7 +6833,13 @@ pub fn _mm512_packus_epi32(a: __m512i, b: __m512i) -> __m512i {
68166833#[target_feature(enable = "avx512bw")]
68176834#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
68186835#[cfg_attr(test, assert_instr(vpackusdw))]
6819- pub fn _mm512_mask_packus_epi32(src: __m512i, k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
6836+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6837+ pub const fn _mm512_mask_packus_epi32(
6838+ src: __m512i,
6839+ k: __mmask32,
6840+ a: __m512i,
6841+ b: __m512i,
6842+ ) -> __m512i {
68206843 unsafe {
68216844 let pack = _mm512_packus_epi32(a, b).as_i16x32();
68226845 transmute(simd_select_bitmask(k, pack, src.as_i16x32()))
@@ -6830,7 +6853,8 @@ pub fn _mm512_mask_packus_epi32(src: __m512i, k: __mmask32, a: __m512i, b: __m51
68306853#[target_feature(enable = "avx512bw")]
68316854#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
68326855#[cfg_attr(test, assert_instr(vpackusdw))]
6833- pub fn _mm512_maskz_packus_epi32(k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
6856+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6857+ pub const fn _mm512_maskz_packus_epi32(k: __mmask32, a: __m512i, b: __m512i) -> __m512i {
68346858 unsafe {
68356859 let pack = _mm512_packus_epi32(a, b).as_i16x32();
68366860 transmute(simd_select_bitmask(k, pack, i16x32::ZERO))
@@ -6909,10 +6933,11 @@ pub const fn _mm_maskz_packus_epi32(k: __mmask8, a: __m128i, b: __m128i) -> __m1
69096933#[target_feature(enable = "avx512bw")]
69106934#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
69116935#[cfg_attr(test, assert_instr(vpackuswb))]
6912- pub fn _mm512_packus_epi16(a: __m512i, b: __m512i) -> __m512i {
6936+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6937+ pub const fn _mm512_packus_epi16(a: __m512i, b: __m512i) -> __m512i {
69136938 unsafe {
6914- let max = simd_splat(i16::from( u8::MAX) );
6915- let min = simd_splat(i16::from( u8::MIN) );
6939+ let max = simd_splat(u8::MAX as i16 );
6940+ let min = simd_splat(u8::MIN as i16 );
69166941
69176942 let clamped_a = simd_imax(simd_imin(a.as_i16x32(), max), min)
69186943 .as_m512i()
@@ -6945,7 +6970,13 @@ pub fn _mm512_packus_epi16(a: __m512i, b: __m512i) -> __m512i {
69456970#[target_feature(enable = "avx512bw")]
69466971#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
69476972#[cfg_attr(test, assert_instr(vpackuswb))]
6948- pub fn _mm512_mask_packus_epi16(src: __m512i, k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
6973+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6974+ pub const fn _mm512_mask_packus_epi16(
6975+ src: __m512i,
6976+ k: __mmask64,
6977+ a: __m512i,
6978+ b: __m512i,
6979+ ) -> __m512i {
69496980 unsafe {
69506981 let pack = _mm512_packus_epi16(a, b).as_i8x64();
69516982 transmute(simd_select_bitmask(k, pack, src.as_i8x64()))
@@ -6959,7 +6990,8 @@ pub fn _mm512_mask_packus_epi16(src: __m512i, k: __mmask64, a: __m512i, b: __m51
69596990#[target_feature(enable = "avx512bw")]
69606991#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
69616992#[cfg_attr(test, assert_instr(vpackuswb))]
6962- pub fn _mm512_maskz_packus_epi16(k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
6993+ #[rustc_const_unstable(feature = "stdarch_const_x86", issue = "149298")]
6994+ pub const fn _mm512_maskz_packus_epi16(k: __mmask64, a: __m512i, b: __m512i) -> __m512i {
69636995 unsafe {
69646996 let pack = _mm512_packus_epi16(a, b).as_i8x64();
69656997 transmute(simd_select_bitmask(k, pack, i8x64::ZERO))
@@ -17828,7 +17860,7 @@ mod tests {
1782817860 }
1782917861
1783017862 #[simd_test(enable = "avx512bw")]
17831- fn test_mm512_packs_epi32() {
17863+ const fn test_mm512_packs_epi32() {
1783217864 let a = _mm512_set1_epi32(i32::MAX);
1783317865 let b = _mm512_set1_epi32(1);
1783417866 let r = _mm512_packs_epi32(a, b);
@@ -17839,7 +17871,7 @@ mod tests {
1783917871 }
1784017872
1784117873 #[simd_test(enable = "avx512bw")]
17842- fn test_mm512_mask_packs_epi32() {
17874+ const fn test_mm512_mask_packs_epi32() {
1784317875 let a = _mm512_set1_epi32(i32::MAX);
1784417876 let b = _mm512_set1_epi32(1 << 16 | 1);
1784517877 let r = _mm512_mask_packs_epi32(a, 0, a, b);
@@ -17852,7 +17884,7 @@ mod tests {
1785217884 }
1785317885
1785417886 #[simd_test(enable = "avx512bw")]
17855- fn test_mm512_maskz_packs_epi32() {
17887+ const fn test_mm512_maskz_packs_epi32() {
1785617888 let a = _mm512_set1_epi32(i32::MAX);
1785717889 let b = _mm512_set1_epi32(1);
1785817890 let r = _mm512_maskz_packs_epi32(0, a, b);
@@ -17911,7 +17943,7 @@ mod tests {
1791117943 }
1791217944
1791317945 #[simd_test(enable = "avx512bw")]
17914- fn test_mm512_packs_epi16() {
17946+ const fn test_mm512_packs_epi16() {
1791517947 let a = _mm512_set1_epi16(i16::MAX);
1791617948 let b = _mm512_set1_epi16(1);
1791717949 let r = _mm512_packs_epi16(a, b);
@@ -17924,7 +17956,7 @@ mod tests {
1792417956 }
1792517957
1792617958 #[simd_test(enable = "avx512bw")]
17927- fn test_mm512_mask_packs_epi16() {
17959+ const fn test_mm512_mask_packs_epi16() {
1792817960 let a = _mm512_set1_epi16(i16::MAX);
1792917961 let b = _mm512_set1_epi16(1 << 8 | 1);
1793017962 let r = _mm512_mask_packs_epi16(a, 0, a, b);
@@ -17944,7 +17976,7 @@ mod tests {
1794417976 }
1794517977
1794617978 #[simd_test(enable = "avx512bw")]
17947- fn test_mm512_maskz_packs_epi16() {
17979+ const fn test_mm512_maskz_packs_epi16() {
1794817980 let a = _mm512_set1_epi16(i16::MAX);
1794917981 let b = _mm512_set1_epi16(1);
1795017982 let r = _mm512_maskz_packs_epi16(0, a, b);
@@ -18013,7 +18045,7 @@ mod tests {
1801318045 }
1801418046
1801518047 #[simd_test(enable = "avx512bw")]
18016- fn test_mm512_packus_epi32() {
18048+ const fn test_mm512_packus_epi32() {
1801718049 let a = _mm512_set1_epi32(-1);
1801818050 let b = _mm512_set1_epi32(1);
1801918051 let r = _mm512_packus_epi32(a, b);
@@ -18024,7 +18056,7 @@ mod tests {
1802418056 }
1802518057
1802618058 #[simd_test(enable = "avx512bw")]
18027- fn test_mm512_mask_packus_epi32() {
18059+ const fn test_mm512_mask_packus_epi32() {
1802818060 let a = _mm512_set1_epi32(-1);
1802918061 let b = _mm512_set1_epi32(1 << 16 | 1);
1803018062 let r = _mm512_mask_packus_epi32(a, 0, a, b);
@@ -18037,7 +18069,7 @@ mod tests {
1803718069 }
1803818070
1803918071 #[simd_test(enable = "avx512bw")]
18040- fn test_mm512_maskz_packus_epi32() {
18072+ const fn test_mm512_maskz_packus_epi32() {
1804118073 let a = _mm512_set1_epi32(-1);
1804218074 let b = _mm512_set1_epi32(1);
1804318075 let r = _mm512_maskz_packus_epi32(0, a, b);
@@ -18094,7 +18126,7 @@ mod tests {
1809418126 }
1809518127
1809618128 #[simd_test(enable = "avx512bw")]
18097- fn test_mm512_packus_epi16() {
18129+ const fn test_mm512_packus_epi16() {
1809818130 let a = _mm512_set1_epi16(-1);
1809918131 let b = _mm512_set1_epi16(1);
1810018132 let r = _mm512_packus_epi16(a, b);
@@ -18107,7 +18139,7 @@ mod tests {
1810718139 }
1810818140
1810918141 #[simd_test(enable = "avx512bw")]
18110- fn test_mm512_mask_packus_epi16() {
18142+ const fn test_mm512_mask_packus_epi16() {
1811118143 let a = _mm512_set1_epi16(-1);
1811218144 let b = _mm512_set1_epi16(1 << 8 | 1);
1811318145 let r = _mm512_mask_packus_epi16(a, 0, a, b);
@@ -18127,7 +18159,7 @@ mod tests {
1812718159 }
1812818160
1812918161 #[simd_test(enable = "avx512bw")]
18130- fn test_mm512_maskz_packus_epi16() {
18162+ const fn test_mm512_maskz_packus_epi16() {
1813118163 let a = _mm512_set1_epi16(-1);
1813218164 let b = _mm512_set1_epi16(1);
1813318165 let r = _mm512_maskz_packus_epi16(0, a, b);
0 commit comments