@@ -11,7 +11,8 @@ use stdarch_test::assert_instr;
1111#[ target_feature( enable = "avx512cd" ) ]
1212#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
1313#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmw2d
14- pub fn _mm512_broadcastmw_epi32 ( k : __mmask16 ) -> __m512i {
14+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
15+ pub const fn _mm512_broadcastmw_epi32 ( k : __mmask16 ) -> __m512i {
1516 _mm512_set1_epi32 ( k as i32 )
1617}
1718
@@ -22,7 +23,8 @@ pub fn _mm512_broadcastmw_epi32(k: __mmask16) -> __m512i {
2223#[ target_feature( enable = "avx512cd,avx512vl" ) ]
2324#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
2425#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmw2d
25- pub fn _mm256_broadcastmw_epi32 ( k : __mmask16 ) -> __m256i {
26+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
27+ pub const fn _mm256_broadcastmw_epi32 ( k : __mmask16 ) -> __m256i {
2628 _mm256_set1_epi32 ( k as i32 )
2729}
2830
@@ -33,7 +35,8 @@ pub fn _mm256_broadcastmw_epi32(k: __mmask16) -> __m256i {
3335#[ target_feature( enable = "avx512cd,avx512vl" ) ]
3436#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
3537#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmw2d
36- pub fn _mm_broadcastmw_epi32 ( k : __mmask16 ) -> __m128i {
38+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
39+ pub const fn _mm_broadcastmw_epi32 ( k : __mmask16 ) -> __m128i {
3740 _mm_set1_epi32 ( k as i32 )
3841}
3942
@@ -44,7 +47,8 @@ pub fn _mm_broadcastmw_epi32(k: __mmask16) -> __m128i {
4447#[ target_feature( enable = "avx512cd" ) ]
4548#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
4649#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmb2q
47- pub fn _mm512_broadcastmb_epi64 ( k : __mmask8 ) -> __m512i {
50+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
51+ pub const fn _mm512_broadcastmb_epi64 ( k : __mmask8 ) -> __m512i {
4852 _mm512_set1_epi64 ( k as i64 )
4953}
5054
@@ -55,7 +59,8 @@ pub fn _mm512_broadcastmb_epi64(k: __mmask8) -> __m512i {
5559#[ target_feature( enable = "avx512cd,avx512vl" ) ]
5660#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
5761#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmb2q
58- pub fn _mm256_broadcastmb_epi64 ( k : __mmask8 ) -> __m256i {
62+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
63+ pub const fn _mm256_broadcastmb_epi64 ( k : __mmask8 ) -> __m256i {
5964 _mm256_set1_epi64x ( k as i64 )
6065}
6166
@@ -66,7 +71,8 @@ pub fn _mm256_broadcastmb_epi64(k: __mmask8) -> __m256i {
6671#[ target_feature( enable = "avx512cd,avx512vl" ) ]
6772#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
6873#[ cfg_attr( test, assert_instr( vpbroadcast) ) ] // should be vpbroadcastmb2q
69- pub fn _mm_broadcastmb_epi64 ( k : __mmask8 ) -> __m128i {
74+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
75+ pub const fn _mm_broadcastmb_epi64 ( k : __mmask8 ) -> __m128i {
7076 _mm_set1_epi64x ( k as i64 )
7177}
7278
@@ -311,7 +317,8 @@ pub fn _mm_maskz_conflict_epi64(k: __mmask8, a: __m128i) -> __m128i {
311317#[ target_feature( enable = "avx512cd" ) ]
312318#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
313319#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
314- pub fn _mm512_lzcnt_epi32 ( a : __m512i ) -> __m512i {
320+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
321+ pub const fn _mm512_lzcnt_epi32 ( a : __m512i ) -> __m512i {
315322 unsafe { transmute ( simd_ctlz ( a. as_i32x16 ( ) ) ) }
316323}
317324
@@ -322,7 +329,8 @@ pub fn _mm512_lzcnt_epi32(a: __m512i) -> __m512i {
322329#[ target_feature( enable = "avx512cd" ) ]
323330#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
324331#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
325- pub fn _mm512_mask_lzcnt_epi32 ( src : __m512i , k : __mmask16 , a : __m512i ) -> __m512i {
332+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
333+ pub const fn _mm512_mask_lzcnt_epi32 ( src : __m512i , k : __mmask16 , a : __m512i ) -> __m512i {
326334 unsafe {
327335 let zerocount = _mm512_lzcnt_epi32 ( a) . as_i32x16 ( ) ;
328336 transmute ( simd_select_bitmask ( k, zerocount, src. as_i32x16 ( ) ) )
@@ -336,7 +344,8 @@ pub fn _mm512_mask_lzcnt_epi32(src: __m512i, k: __mmask16, a: __m512i) -> __m512
336344#[ target_feature( enable = "avx512cd" ) ]
337345#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
338346#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
339- pub fn _mm512_maskz_lzcnt_epi32 ( k : __mmask16 , a : __m512i ) -> __m512i {
347+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
348+ pub const fn _mm512_maskz_lzcnt_epi32 ( k : __mmask16 , a : __m512i ) -> __m512i {
340349 unsafe {
341350 let zerocount = _mm512_lzcnt_epi32 ( a) . as_i32x16 ( ) ;
342351 transmute ( simd_select_bitmask ( k, zerocount, i32x16:: ZERO ) )
@@ -350,7 +359,8 @@ pub fn _mm512_maskz_lzcnt_epi32(k: __mmask16, a: __m512i) -> __m512i {
350359#[ target_feature( enable = "avx512cd,avx512vl" ) ]
351360#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
352361#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
353- pub fn _mm256_lzcnt_epi32 ( a : __m256i ) -> __m256i {
362+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
363+ pub const fn _mm256_lzcnt_epi32 ( a : __m256i ) -> __m256i {
354364 unsafe { transmute ( simd_ctlz ( a. as_i32x8 ( ) ) ) }
355365}
356366
@@ -361,7 +371,8 @@ pub fn _mm256_lzcnt_epi32(a: __m256i) -> __m256i {
361371#[ target_feature( enable = "avx512cd,avx512vl" ) ]
362372#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
363373#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
364- pub fn _mm256_mask_lzcnt_epi32 ( src : __m256i , k : __mmask8 , a : __m256i ) -> __m256i {
374+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
375+ pub const fn _mm256_mask_lzcnt_epi32 ( src : __m256i , k : __mmask8 , a : __m256i ) -> __m256i {
365376 unsafe {
366377 let zerocount = _mm256_lzcnt_epi32 ( a) . as_i32x8 ( ) ;
367378 transmute ( simd_select_bitmask ( k, zerocount, src. as_i32x8 ( ) ) )
@@ -375,7 +386,8 @@ pub fn _mm256_mask_lzcnt_epi32(src: __m256i, k: __mmask8, a: __m256i) -> __m256i
375386#[ target_feature( enable = "avx512cd,avx512vl" ) ]
376387#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
377388#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
378- pub fn _mm256_maskz_lzcnt_epi32 ( k : __mmask8 , a : __m256i ) -> __m256i {
389+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
390+ pub const fn _mm256_maskz_lzcnt_epi32 ( k : __mmask8 , a : __m256i ) -> __m256i {
379391 unsafe {
380392 let zerocount = _mm256_lzcnt_epi32 ( a) . as_i32x8 ( ) ;
381393 transmute ( simd_select_bitmask ( k, zerocount, i32x8:: ZERO ) )
@@ -389,7 +401,8 @@ pub fn _mm256_maskz_lzcnt_epi32(k: __mmask8, a: __m256i) -> __m256i {
389401#[ target_feature( enable = "avx512cd,avx512vl" ) ]
390402#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
391403#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
392- pub fn _mm_lzcnt_epi32 ( a : __m128i ) -> __m128i {
404+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
405+ pub const fn _mm_lzcnt_epi32 ( a : __m128i ) -> __m128i {
393406 unsafe { transmute ( simd_ctlz ( a. as_i32x4 ( ) ) ) }
394407}
395408
@@ -400,7 +413,8 @@ pub fn _mm_lzcnt_epi32(a: __m128i) -> __m128i {
400413#[ target_feature( enable = "avx512cd,avx512vl" ) ]
401414#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
402415#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
403- pub fn _mm_mask_lzcnt_epi32 ( src : __m128i , k : __mmask8 , a : __m128i ) -> __m128i {
416+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
417+ pub const fn _mm_mask_lzcnt_epi32 ( src : __m128i , k : __mmask8 , a : __m128i ) -> __m128i {
404418 unsafe {
405419 let zerocount = _mm_lzcnt_epi32 ( a) . as_i32x4 ( ) ;
406420 transmute ( simd_select_bitmask ( k, zerocount, src. as_i32x4 ( ) ) )
@@ -414,7 +428,8 @@ pub fn _mm_mask_lzcnt_epi32(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
414428#[ target_feature( enable = "avx512cd,avx512vl" ) ]
415429#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
416430#[ cfg_attr( test, assert_instr( vplzcntd) ) ]
417- pub fn _mm_maskz_lzcnt_epi32 ( k : __mmask8 , a : __m128i ) -> __m128i {
431+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
432+ pub const fn _mm_maskz_lzcnt_epi32 ( k : __mmask8 , a : __m128i ) -> __m128i {
418433 unsafe {
419434 let zerocount = _mm_lzcnt_epi32 ( a) . as_i32x4 ( ) ;
420435 transmute ( simd_select_bitmask ( k, zerocount, i32x4:: ZERO ) )
@@ -428,7 +443,8 @@ pub fn _mm_maskz_lzcnt_epi32(k: __mmask8, a: __m128i) -> __m128i {
428443#[ target_feature( enable = "avx512cd" ) ]
429444#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
430445#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
431- pub fn _mm512_lzcnt_epi64 ( a : __m512i ) -> __m512i {
446+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
447+ pub const fn _mm512_lzcnt_epi64 ( a : __m512i ) -> __m512i {
432448 unsafe { transmute ( simd_ctlz ( a. as_i64x8 ( ) ) ) }
433449}
434450
@@ -439,7 +455,8 @@ pub fn _mm512_lzcnt_epi64(a: __m512i) -> __m512i {
439455#[ target_feature( enable = "avx512cd" ) ]
440456#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
441457#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
442- pub fn _mm512_mask_lzcnt_epi64 ( src : __m512i , k : __mmask8 , a : __m512i ) -> __m512i {
458+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
459+ pub const fn _mm512_mask_lzcnt_epi64 ( src : __m512i , k : __mmask8 , a : __m512i ) -> __m512i {
443460 unsafe {
444461 let zerocount = _mm512_lzcnt_epi64 ( a) . as_i64x8 ( ) ;
445462 transmute ( simd_select_bitmask ( k, zerocount, src. as_i64x8 ( ) ) )
@@ -453,7 +470,8 @@ pub fn _mm512_mask_lzcnt_epi64(src: __m512i, k: __mmask8, a: __m512i) -> __m512i
453470#[ target_feature( enable = "avx512cd" ) ]
454471#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
455472#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
456- pub fn _mm512_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m512i ) -> __m512i {
473+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
474+ pub const fn _mm512_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m512i ) -> __m512i {
457475 unsafe {
458476 let zerocount = _mm512_lzcnt_epi64 ( a) . as_i64x8 ( ) ;
459477 transmute ( simd_select_bitmask ( k, zerocount, i64x8:: ZERO ) )
@@ -467,7 +485,8 @@ pub fn _mm512_maskz_lzcnt_epi64(k: __mmask8, a: __m512i) -> __m512i {
467485#[ target_feature( enable = "avx512cd,avx512vl" ) ]
468486#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
469487#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
470- pub fn _mm256_lzcnt_epi64 ( a : __m256i ) -> __m256i {
488+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
489+ pub const fn _mm256_lzcnt_epi64 ( a : __m256i ) -> __m256i {
471490 unsafe { transmute ( simd_ctlz ( a. as_i64x4 ( ) ) ) }
472491}
473492
@@ -478,7 +497,8 @@ pub fn _mm256_lzcnt_epi64(a: __m256i) -> __m256i {
478497#[ target_feature( enable = "avx512cd,avx512vl" ) ]
479498#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
480499#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
481- pub fn _mm256_mask_lzcnt_epi64 ( src : __m256i , k : __mmask8 , a : __m256i ) -> __m256i {
500+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
501+ pub const fn _mm256_mask_lzcnt_epi64 ( src : __m256i , k : __mmask8 , a : __m256i ) -> __m256i {
482502 unsafe {
483503 let zerocount = _mm256_lzcnt_epi64 ( a) . as_i64x4 ( ) ;
484504 transmute ( simd_select_bitmask ( k, zerocount, src. as_i64x4 ( ) ) )
@@ -492,7 +512,8 @@ pub fn _mm256_mask_lzcnt_epi64(src: __m256i, k: __mmask8, a: __m256i) -> __m256i
492512#[ target_feature( enable = "avx512cd,avx512vl" ) ]
493513#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
494514#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
495- pub fn _mm256_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m256i ) -> __m256i {
515+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
516+ pub const fn _mm256_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m256i ) -> __m256i {
496517 unsafe {
497518 let zerocount = _mm256_lzcnt_epi64 ( a) . as_i64x4 ( ) ;
498519 transmute ( simd_select_bitmask ( k, zerocount, i64x4:: ZERO ) )
@@ -506,7 +527,8 @@ pub fn _mm256_maskz_lzcnt_epi64(k: __mmask8, a: __m256i) -> __m256i {
506527#[ target_feature( enable = "avx512cd,avx512vl" ) ]
507528#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
508529#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
509- pub fn _mm_lzcnt_epi64 ( a : __m128i ) -> __m128i {
530+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
531+ pub const fn _mm_lzcnt_epi64 ( a : __m128i ) -> __m128i {
510532 unsafe { transmute ( simd_ctlz ( a. as_i64x2 ( ) ) ) }
511533}
512534
@@ -517,7 +539,8 @@ pub fn _mm_lzcnt_epi64(a: __m128i) -> __m128i {
517539#[ target_feature( enable = "avx512cd,avx512vl" ) ]
518540#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
519541#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
520- pub fn _mm_mask_lzcnt_epi64 ( src : __m128i , k : __mmask8 , a : __m128i ) -> __m128i {
542+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
543+ pub const fn _mm_mask_lzcnt_epi64 ( src : __m128i , k : __mmask8 , a : __m128i ) -> __m128i {
521544 unsafe {
522545 let zerocount = _mm_lzcnt_epi64 ( a) . as_i64x2 ( ) ;
523546 transmute ( simd_select_bitmask ( k, zerocount, src. as_i64x2 ( ) ) )
@@ -531,7 +554,8 @@ pub fn _mm_mask_lzcnt_epi64(src: __m128i, k: __mmask8, a: __m128i) -> __m128i {
531554#[ target_feature( enable = "avx512cd,avx512vl" ) ]
532555#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
533556#[ cfg_attr( test, assert_instr( vplzcntq) ) ]
534- pub fn _mm_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m128i ) -> __m128i {
557+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
558+ pub const fn _mm_maskz_lzcnt_epi64 ( k : __mmask8 , a : __m128i ) -> __m128i {
535559 unsafe {
536560 let zerocount = _mm_lzcnt_epi64 ( a) . as_i64x2 ( ) ;
537561 transmute ( simd_select_bitmask ( k, zerocount, i64x2:: ZERO ) )
0 commit comments