Skip to content

Commit 628a609

Browse files
committed
Make avx512bitalg functions const
1 parent 58df278 commit 628a609

File tree

1 file changed

+36
-18
lines changed

1 file changed

+36
-18
lines changed

crates/core_arch/src/x86/avx512bitalg.rs

Lines changed: 36 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ unsafe extern "C" {
4343
#[target_feature(enable = "avx512bitalg")]
4444
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
4545
#[cfg_attr(test, assert_instr(vpopcntw))]
46-
pub fn _mm512_popcnt_epi16(a: __m512i) -> __m512i {
46+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
47+
pub const fn _mm512_popcnt_epi16(a: __m512i) -> __m512i {
4748
unsafe { transmute(simd_ctpop(a.as_i16x32())) }
4849
}
4950

@@ -57,7 +58,8 @@ pub fn _mm512_popcnt_epi16(a: __m512i) -> __m512i {
5758
#[target_feature(enable = "avx512bitalg")]
5859
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
5960
#[cfg_attr(test, assert_instr(vpopcntw))]
60-
pub fn _mm512_maskz_popcnt_epi16(k: __mmask32, a: __m512i) -> __m512i {
61+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
62+
pub const fn _mm512_maskz_popcnt_epi16(k: __mmask32, a: __m512i) -> __m512i {
6163
unsafe {
6264
transmute(simd_select_bitmask(
6365
k,
@@ -77,7 +79,8 @@ pub fn _mm512_maskz_popcnt_epi16(k: __mmask32, a: __m512i) -> __m512i {
7779
#[target_feature(enable = "avx512bitalg")]
7880
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
7981
#[cfg_attr(test, assert_instr(vpopcntw))]
80-
pub fn _mm512_mask_popcnt_epi16(src: __m512i, k: __mmask32, a: __m512i) -> __m512i {
82+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
83+
pub const fn _mm512_mask_popcnt_epi16(src: __m512i, k: __mmask32, a: __m512i) -> __m512i {
8184
unsafe {
8285
transmute(simd_select_bitmask(
8386
k,
@@ -94,7 +97,8 @@ pub fn _mm512_mask_popcnt_epi16(src: __m512i, k: __mmask32, a: __m512i) -> __m51
9497
#[target_feature(enable = "avx512bitalg,avx512vl")]
9598
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
9699
#[cfg_attr(test, assert_instr(vpopcntw))]
97-
pub fn _mm256_popcnt_epi16(a: __m256i) -> __m256i {
100+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
101+
pub const fn _mm256_popcnt_epi16(a: __m256i) -> __m256i {
98102
unsafe { transmute(simd_ctpop(a.as_i16x16())) }
99103
}
100104

@@ -108,7 +112,8 @@ pub fn _mm256_popcnt_epi16(a: __m256i) -> __m256i {
108112
#[target_feature(enable = "avx512bitalg,avx512vl")]
109113
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
110114
#[cfg_attr(test, assert_instr(vpopcntw))]
111-
pub fn _mm256_maskz_popcnt_epi16(k: __mmask16, a: __m256i) -> __m256i {
115+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
116+
pub const fn _mm256_maskz_popcnt_epi16(k: __mmask16, a: __m256i) -> __m256i {
112117
unsafe {
113118
transmute(simd_select_bitmask(
114119
k,
@@ -128,7 +133,8 @@ pub fn _mm256_maskz_popcnt_epi16(k: __mmask16, a: __m256i) -> __m256i {
128133
#[target_feature(enable = "avx512bitalg,avx512vl")]
129134
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
130135
#[cfg_attr(test, assert_instr(vpopcntw))]
131-
pub fn _mm256_mask_popcnt_epi16(src: __m256i, k: __mmask16, a: __m256i) -> __m256i {
136+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
137+
pub const fn _mm256_mask_popcnt_epi16(src: __m256i, k: __mmask16, a: __m256i) -> __m256i {
132138
unsafe {
133139
transmute(simd_select_bitmask(
134140
k,
@@ -145,7 +151,8 @@ pub fn _mm256_mask_popcnt_epi16(src: __m256i, k: __mmask16, a: __m256i) -> __m25
145151
#[target_feature(enable = "avx512bitalg,avx512vl")]
146152
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
147153
#[cfg_attr(test, assert_instr(vpopcntw))]
148-
pub fn _mm_popcnt_epi16(a: __m128i) -> __m128i {
154+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
155+
pub const fn _mm_popcnt_epi16(a: __m128i) -> __m128i {
149156
unsafe { transmute(simd_ctpop(a.as_i16x8())) }
150157
}
151158

@@ -159,7 +166,8 @@ pub fn _mm_popcnt_epi16(a: __m128i) -> __m128i {
159166
#[target_feature(enable = "avx512bitalg,avx512vl")]
160167
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
161168
#[cfg_attr(test, assert_instr(vpopcntw))]
162-
pub fn _mm_maskz_popcnt_epi16(k: __mmask8, a: __m128i) -> __m128i {
169+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
170+
pub const fn _mm_maskz_popcnt_epi16(k: __mmask8, a: __m128i) -> __m128i {
163171
unsafe {
164172
transmute(simd_select_bitmask(
165173
k,
@@ -179,7 +187,8 @@ pub fn _mm_maskz_popcnt_epi16(k: __mmask8, a: __m128i) -> __m128i {
179187
#[target_feature(enable = "avx512bitalg,avx512vl")]
180188
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
181189
#[cfg_attr(test, assert_instr(vpopcntw))]
182-
pub fn _mm_mask_popcnt_epi16(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
190+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
191+
pub const fn _mm_mask_popcnt_epi16(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
183192
unsafe {
184193
transmute(simd_select_bitmask(
185194
k,
@@ -196,7 +205,8 @@ pub fn _mm_mask_popcnt_epi16(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
196205
#[target_feature(enable = "avx512bitalg")]
197206
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
198207
#[cfg_attr(test, assert_instr(vpopcntb))]
199-
pub fn _mm512_popcnt_epi8(a: __m512i) -> __m512i {
208+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
209+
pub const fn _mm512_popcnt_epi8(a: __m512i) -> __m512i {
200210
unsafe { transmute(simd_ctpop(a.as_i8x64())) }
201211
}
202212

@@ -210,7 +220,8 @@ pub fn _mm512_popcnt_epi8(a: __m512i) -> __m512i {
210220
#[target_feature(enable = "avx512bitalg")]
211221
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
212222
#[cfg_attr(test, assert_instr(vpopcntb))]
213-
pub fn _mm512_maskz_popcnt_epi8(k: __mmask64, a: __m512i) -> __m512i {
223+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
224+
pub const fn _mm512_maskz_popcnt_epi8(k: __mmask64, a: __m512i) -> __m512i {
214225
unsafe {
215226
transmute(simd_select_bitmask(
216227
k,
@@ -230,7 +241,8 @@ pub fn _mm512_maskz_popcnt_epi8(k: __mmask64, a: __m512i) -> __m512i {
230241
#[target_feature(enable = "avx512bitalg")]
231242
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
232243
#[cfg_attr(test, assert_instr(vpopcntb))]
233-
pub fn _mm512_mask_popcnt_epi8(src: __m512i, k: __mmask64, a: __m512i) -> __m512i {
244+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
245+
pub const fn _mm512_mask_popcnt_epi8(src: __m512i, k: __mmask64, a: __m512i) -> __m512i {
234246
unsafe {
235247
transmute(simd_select_bitmask(
236248
k,
@@ -247,7 +259,8 @@ pub fn _mm512_mask_popcnt_epi8(src: __m512i, k: __mmask64, a: __m512i) -> __m512
247259
#[target_feature(enable = "avx512bitalg,avx512vl")]
248260
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
249261
#[cfg_attr(test, assert_instr(vpopcntb))]
250-
pub fn _mm256_popcnt_epi8(a: __m256i) -> __m256i {
262+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
263+
pub const fn _mm256_popcnt_epi8(a: __m256i) -> __m256i {
251264
unsafe { transmute(simd_ctpop(a.as_i8x32())) }
252265
}
253266

@@ -261,7 +274,8 @@ pub fn _mm256_popcnt_epi8(a: __m256i) -> __m256i {
261274
#[target_feature(enable = "avx512bitalg,avx512vl")]
262275
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
263276
#[cfg_attr(test, assert_instr(vpopcntb))]
264-
pub fn _mm256_maskz_popcnt_epi8(k: __mmask32, a: __m256i) -> __m256i {
277+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
278+
pub const fn _mm256_maskz_popcnt_epi8(k: __mmask32, a: __m256i) -> __m256i {
265279
unsafe {
266280
transmute(simd_select_bitmask(
267281
k,
@@ -281,7 +295,8 @@ pub fn _mm256_maskz_popcnt_epi8(k: __mmask32, a: __m256i) -> __m256i {
281295
#[target_feature(enable = "avx512bitalg,avx512vl")]
282296
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
283297
#[cfg_attr(test, assert_instr(vpopcntb))]
284-
pub fn _mm256_mask_popcnt_epi8(src: __m256i, k: __mmask32, a: __m256i) -> __m256i {
298+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
299+
pub const fn _mm256_mask_popcnt_epi8(src: __m256i, k: __mmask32, a: __m256i) -> __m256i {
285300
unsafe {
286301
transmute(simd_select_bitmask(
287302
k,
@@ -298,7 +313,8 @@ pub fn _mm256_mask_popcnt_epi8(src: __m256i, k: __mmask32, a: __m256i) -> __m256
298313
#[target_feature(enable = "avx512bitalg,avx512vl")]
299314
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
300315
#[cfg_attr(test, assert_instr(vpopcntb))]
301-
pub fn _mm_popcnt_epi8(a: __m128i) -> __m128i {
316+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
317+
pub const fn _mm_popcnt_epi8(a: __m128i) -> __m128i {
302318
unsafe { transmute(simd_ctpop(a.as_i8x16())) }
303319
}
304320

@@ -312,7 +328,8 @@ pub fn _mm_popcnt_epi8(a: __m128i) -> __m128i {
312328
#[target_feature(enable = "avx512bitalg,avx512vl")]
313329
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
314330
#[cfg_attr(test, assert_instr(vpopcntb))]
315-
pub fn _mm_maskz_popcnt_epi8(k: __mmask16, a: __m128i) -> __m128i {
331+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
332+
pub const fn _mm_maskz_popcnt_epi8(k: __mmask16, a: __m128i) -> __m128i {
316333
unsafe {
317334
transmute(simd_select_bitmask(
318335
k,
@@ -332,7 +349,8 @@ pub fn _mm_maskz_popcnt_epi8(k: __mmask16, a: __m128i) -> __m128i {
332349
#[target_feature(enable = "avx512bitalg,avx512vl")]
333350
#[stable(feature = "stdarch_x86_avx512", since = "1.89")]
334351
#[cfg_attr(test, assert_instr(vpopcntb))]
335-
pub fn _mm_mask_popcnt_epi8(src: __m128i, k: __mmask16, a: __m128i) -> __m128i {
352+
#[rustc_const_unstable(feature = "stdarch_const_intrinsics", issue = "none")]
353+
pub const fn _mm_mask_popcnt_epi8(src: __m128i, k: __mmask16, a: __m128i) -> __m128i {
336354
unsafe {
337355
transmute(simd_select_bitmask(
338356
k,

0 commit comments

Comments
 (0)