@@ -59,7 +59,8 @@ pub const _MM_FROUND_NEARBYINT: i32 = _MM_FROUND_NO_EXC | _MM_FROUND_CUR_DIRECTI
5959#[ target_feature( enable = "sse4.1" ) ]
6060#[ cfg_attr( test, assert_instr( pblendvb) ) ]
6161#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
62- pub fn _mm_blendv_epi8 ( a : __m128i , b : __m128i , mask : __m128i ) -> __m128i {
62+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
63+ pub const fn _mm_blendv_epi8 ( a : __m128i , b : __m128i , mask : __m128i ) -> __m128i {
6364 unsafe {
6465 let mask: i8x16 = simd_lt ( mask. as_i8x16 ( ) , i8x16:: ZERO ) ;
6566 transmute ( simd_select ( mask, b. as_i8x16 ( ) , a. as_i8x16 ( ) ) )
@@ -78,7 +79,8 @@ pub fn _mm_blendv_epi8(a: __m128i, b: __m128i, mask: __m128i) -> __m128i {
7879#[ cfg_attr( test, assert_instr( pblendw, IMM8 = 0xB1 ) ) ]
7980#[ rustc_legacy_const_generics( 2 ) ]
8081#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
81- pub fn _mm_blend_epi16 < const IMM8 : i32 > ( a : __m128i , b : __m128i ) -> __m128i {
82+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
83+ pub const fn _mm_blend_epi16 < const IMM8 : i32 > ( a : __m128i , b : __m128i ) -> __m128i {
8284 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
8385 unsafe {
8486 transmute :: < i16x8 , _ > ( simd_shuffle ! (
@@ -106,7 +108,8 @@ pub fn _mm_blend_epi16<const IMM8: i32>(a: __m128i, b: __m128i) -> __m128i {
106108#[ target_feature( enable = "sse4.1" ) ]
107109#[ cfg_attr( test, assert_instr( blendvpd) ) ]
108110#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
109- pub fn _mm_blendv_pd ( a : __m128d , b : __m128d , mask : __m128d ) -> __m128d {
111+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
112+ pub const fn _mm_blendv_pd ( a : __m128d , b : __m128d , mask : __m128d ) -> __m128d {
110113 unsafe {
111114 let mask: i64x2 = simd_lt ( transmute :: < _ , i64x2 > ( mask) , i64x2:: ZERO ) ;
112115 transmute ( simd_select ( mask, b. as_f64x2 ( ) , a. as_f64x2 ( ) ) )
@@ -121,7 +124,8 @@ pub fn _mm_blendv_pd(a: __m128d, b: __m128d, mask: __m128d) -> __m128d {
121124#[ target_feature( enable = "sse4.1" ) ]
122125#[ cfg_attr( test, assert_instr( blendvps) ) ]
123126#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
124- pub fn _mm_blendv_ps ( a : __m128 , b : __m128 , mask : __m128 ) -> __m128 {
127+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
128+ pub const fn _mm_blendv_ps ( a : __m128 , b : __m128 , mask : __m128 ) -> __m128 {
125129 unsafe {
126130 let mask: i32x4 = simd_lt ( transmute :: < _ , i32x4 > ( mask) , i32x4:: ZERO ) ;
127131 transmute ( simd_select ( mask, b. as_f32x4 ( ) , a. as_f32x4 ( ) ) )
@@ -140,7 +144,8 @@ pub fn _mm_blendv_ps(a: __m128, b: __m128, mask: __m128) -> __m128 {
140144#[ cfg_attr( test, assert_instr( blendps, IMM2 = 0b10 ) ) ]
141145#[ rustc_legacy_const_generics( 2 ) ]
142146#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
143- pub fn _mm_blend_pd < const IMM2 : i32 > ( a : __m128d , b : __m128d ) -> __m128d {
147+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
148+ pub const fn _mm_blend_pd < const IMM2 : i32 > ( a : __m128d , b : __m128d ) -> __m128d {
144149 static_assert_uimm_bits ! ( IMM2 , 2 ) ;
145150 unsafe {
146151 transmute :: < f64x2 , _ > ( simd_shuffle ! (
@@ -160,7 +165,8 @@ pub fn _mm_blend_pd<const IMM2: i32>(a: __m128d, b: __m128d) -> __m128d {
160165#[ cfg_attr( test, assert_instr( blendps, IMM4 = 0b0101 ) ) ]
161166#[ rustc_legacy_const_generics( 2 ) ]
162167#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
163- pub fn _mm_blend_ps < const IMM4 : i32 > ( a : __m128 , b : __m128 ) -> __m128 {
168+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
169+ pub const fn _mm_blend_ps < const IMM4 : i32 > ( a : __m128 , b : __m128 ) -> __m128 {
164170 static_assert_uimm_bits ! ( IMM4 , 4 ) ;
165171 unsafe {
166172 transmute :: < f32x4 , _ > ( simd_shuffle ! (
@@ -207,7 +213,8 @@ pub fn _mm_blend_ps<const IMM4: i32>(a: __m128, b: __m128) -> __m128 {
207213#[ cfg_attr( test, assert_instr( extractps, IMM8 = 0 ) ) ]
208214#[ rustc_legacy_const_generics( 1 ) ]
209215#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
210- pub fn _mm_extract_ps < const IMM8 : i32 > ( a : __m128 ) -> i32 {
216+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
217+ pub const fn _mm_extract_ps < const IMM8 : i32 > ( a : __m128 ) -> i32 {
211218 static_assert_uimm_bits ! ( IMM8 , 2 ) ;
212219 unsafe { simd_extract ! ( a, IMM8 as u32 , f32 ) . to_bits ( ) as i32 }
213220}
@@ -223,7 +230,8 @@ pub fn _mm_extract_ps<const IMM8: i32>(a: __m128) -> i32 {
223230#[ cfg_attr( test, assert_instr( pextrb, IMM8 = 0 ) ) ]
224231#[ rustc_legacy_const_generics( 1 ) ]
225232#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
226- pub fn _mm_extract_epi8 < const IMM8 : i32 > ( a : __m128i ) -> i32 {
233+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
234+ pub const fn _mm_extract_epi8 < const IMM8 : i32 > ( a : __m128i ) -> i32 {
227235 static_assert_uimm_bits ! ( IMM8 , 4 ) ;
228236 unsafe { simd_extract ! ( a. as_u8x16( ) , IMM8 as u32 , u8 ) as i32 }
229237}
@@ -236,7 +244,8 @@ pub fn _mm_extract_epi8<const IMM8: i32>(a: __m128i) -> i32 {
236244#[ cfg_attr( test, assert_instr( extractps, IMM8 = 1 ) ) ]
237245#[ rustc_legacy_const_generics( 1 ) ]
238246#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
239- pub fn _mm_extract_epi32 < const IMM8 : i32 > ( a : __m128i ) -> i32 {
247+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
248+ pub const fn _mm_extract_epi32 < const IMM8 : i32 > ( a : __m128i ) -> i32 {
240249 static_assert_uimm_bits ! ( IMM8 , 2 ) ;
241250 unsafe { simd_extract ! ( a. as_i32x4( ) , IMM8 as u32 , i32 ) }
242251}
@@ -284,7 +293,8 @@ pub fn _mm_insert_ps<const IMM8: i32>(a: __m128, b: __m128) -> __m128 {
284293#[ cfg_attr( test, assert_instr( pinsrb, IMM8 = 0 ) ) ]
285294#[ rustc_legacy_const_generics( 2 ) ]
286295#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
287- pub fn _mm_insert_epi8 < const IMM8 : i32 > ( a : __m128i , i : i32 ) -> __m128i {
296+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
297+ pub const fn _mm_insert_epi8 < const IMM8 : i32 > ( a : __m128i , i : i32 ) -> __m128i {
288298 static_assert_uimm_bits ! ( IMM8 , 4 ) ;
289299 unsafe { transmute ( simd_insert ! ( a. as_i8x16( ) , IMM8 as u32 , i as i8 ) ) }
290300}
@@ -298,7 +308,8 @@ pub fn _mm_insert_epi8<const IMM8: i32>(a: __m128i, i: i32) -> __m128i {
298308#[ cfg_attr( test, assert_instr( pinsrd, IMM8 = 0 ) ) ]
299309#[ rustc_legacy_const_generics( 2 ) ]
300310#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
301- pub fn _mm_insert_epi32 < const IMM8 : i32 > ( a : __m128i , i : i32 ) -> __m128i {
311+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
312+ pub const fn _mm_insert_epi32 < const IMM8 : i32 > ( a : __m128i , i : i32 ) -> __m128i {
302313 static_assert_uimm_bits ! ( IMM8 , 2 ) ;
303314 unsafe { transmute ( simd_insert ! ( a. as_i32x4( ) , IMM8 as u32 , i) ) }
304315}
@@ -311,7 +322,8 @@ pub fn _mm_insert_epi32<const IMM8: i32>(a: __m128i, i: i32) -> __m128i {
311322#[ target_feature( enable = "sse4.1" ) ]
312323#[ cfg_attr( test, assert_instr( pmaxsb) ) ]
313324#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
314- pub fn _mm_max_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
325+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
326+ pub const fn _mm_max_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
315327 unsafe {
316328 let a = a. as_i8x16 ( ) ;
317329 let b = b. as_i8x16 ( ) ;
@@ -327,7 +339,8 @@ pub fn _mm_max_epi8(a: __m128i, b: __m128i) -> __m128i {
327339#[ target_feature( enable = "sse4.1" ) ]
328340#[ cfg_attr( test, assert_instr( pmaxuw) ) ]
329341#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
330- pub fn _mm_max_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
342+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
343+ pub const fn _mm_max_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
331344 unsafe {
332345 let a = a. as_u16x8 ( ) ;
333346 let b = b. as_u16x8 ( ) ;
@@ -343,7 +356,8 @@ pub fn _mm_max_epu16(a: __m128i, b: __m128i) -> __m128i {
343356#[ target_feature( enable = "sse4.1" ) ]
344357#[ cfg_attr( test, assert_instr( pmaxsd) ) ]
345358#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
346- pub fn _mm_max_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
359+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
360+ pub const fn _mm_max_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
347361 unsafe {
348362 let a = a. as_i32x4 ( ) ;
349363 let b = b. as_i32x4 ( ) ;
@@ -359,7 +373,8 @@ pub fn _mm_max_epi32(a: __m128i, b: __m128i) -> __m128i {
359373#[ target_feature( enable = "sse4.1" ) ]
360374#[ cfg_attr( test, assert_instr( pmaxud) ) ]
361375#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
362- pub fn _mm_max_epu32 ( a : __m128i , b : __m128i ) -> __m128i {
376+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
377+ pub const fn _mm_max_epu32 ( a : __m128i , b : __m128i ) -> __m128i {
363378 unsafe {
364379 let a = a. as_u32x4 ( ) ;
365380 let b = b. as_u32x4 ( ) ;
@@ -375,7 +390,8 @@ pub fn _mm_max_epu32(a: __m128i, b: __m128i) -> __m128i {
375390#[ target_feature( enable = "sse4.1" ) ]
376391#[ cfg_attr( test, assert_instr( pminsb) ) ]
377392#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
378- pub fn _mm_min_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
393+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
394+ pub const fn _mm_min_epi8 ( a : __m128i , b : __m128i ) -> __m128i {
379395 unsafe {
380396 let a = a. as_i8x16 ( ) ;
381397 let b = b. as_i8x16 ( ) ;
@@ -391,7 +407,8 @@ pub fn _mm_min_epi8(a: __m128i, b: __m128i) -> __m128i {
391407#[ target_feature( enable = "sse4.1" ) ]
392408#[ cfg_attr( test, assert_instr( pminuw) ) ]
393409#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
394- pub fn _mm_min_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
410+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
411+ pub const fn _mm_min_epu16 ( a : __m128i , b : __m128i ) -> __m128i {
395412 unsafe {
396413 let a = a. as_u16x8 ( ) ;
397414 let b = b. as_u16x8 ( ) ;
@@ -407,7 +424,8 @@ pub fn _mm_min_epu16(a: __m128i, b: __m128i) -> __m128i {
407424#[ target_feature( enable = "sse4.1" ) ]
408425#[ cfg_attr( test, assert_instr( pminsd) ) ]
409426#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
410- pub fn _mm_min_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
427+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
428+ pub const fn _mm_min_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
411429 unsafe {
412430 let a = a. as_i32x4 ( ) ;
413431 let b = b. as_i32x4 ( ) ;
@@ -423,7 +441,8 @@ pub fn _mm_min_epi32(a: __m128i, b: __m128i) -> __m128i {
423441#[ target_feature( enable = "sse4.1" ) ]
424442#[ cfg_attr( test, assert_instr( pminud) ) ]
425443#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
426- pub fn _mm_min_epu32 ( a : __m128i , b : __m128i ) -> __m128i {
444+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
445+ pub const fn _mm_min_epu32 ( a : __m128i , b : __m128i ) -> __m128i {
427446 unsafe {
428447 let a = a. as_u32x4 ( ) ;
429448 let b = b. as_u32x4 ( ) ;
@@ -450,7 +469,8 @@ pub fn _mm_packus_epi32(a: __m128i, b: __m128i) -> __m128i {
450469#[ target_feature( enable = "sse4.1" ) ]
451470#[ cfg_attr( test, assert_instr( pcmpeqq) ) ]
452471#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
453- pub fn _mm_cmpeq_epi64 ( a : __m128i , b : __m128i ) -> __m128i {
472+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
473+ pub const fn _mm_cmpeq_epi64 ( a : __m128i , b : __m128i ) -> __m128i {
454474 unsafe { transmute ( simd_eq :: < _ , i64x2 > ( a. as_i64x2 ( ) , b. as_i64x2 ( ) ) ) }
455475}
456476
@@ -461,7 +481,8 @@ pub fn _mm_cmpeq_epi64(a: __m128i, b: __m128i) -> __m128i {
461481#[ target_feature( enable = "sse4.1" ) ]
462482#[ cfg_attr( test, assert_instr( pmovsxbw) ) ]
463483#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
464- pub fn _mm_cvtepi8_epi16 ( a : __m128i ) -> __m128i {
484+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
485+ pub const fn _mm_cvtepi8_epi16 ( a : __m128i ) -> __m128i {
465486 unsafe {
466487 let a = a. as_i8x16 ( ) ;
467488 let a: i8x8 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ) ;
@@ -476,7 +497,8 @@ pub fn _mm_cvtepi8_epi16(a: __m128i) -> __m128i {
476497#[ target_feature( enable = "sse4.1" ) ]
477498#[ cfg_attr( test, assert_instr( pmovsxbd) ) ]
478499#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
479- pub fn _mm_cvtepi8_epi32 ( a : __m128i ) -> __m128i {
500+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
501+ pub const fn _mm_cvtepi8_epi32 ( a : __m128i ) -> __m128i {
480502 unsafe {
481503 let a = a. as_i8x16 ( ) ;
482504 let a: i8x4 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 ] ) ;
@@ -492,7 +514,8 @@ pub fn _mm_cvtepi8_epi32(a: __m128i) -> __m128i {
492514#[ target_feature( enable = "sse4.1" ) ]
493515#[ cfg_attr( test, assert_instr( pmovsxbq) ) ]
494516#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
495- pub fn _mm_cvtepi8_epi64 ( a : __m128i ) -> __m128i {
517+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
518+ pub const fn _mm_cvtepi8_epi64 ( a : __m128i ) -> __m128i {
496519 unsafe {
497520 let a = a. as_i8x16 ( ) ;
498521 let a: i8x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -507,7 +530,8 @@ pub fn _mm_cvtepi8_epi64(a: __m128i) -> __m128i {
507530#[ target_feature( enable = "sse4.1" ) ]
508531#[ cfg_attr( test, assert_instr( pmovsxwd) ) ]
509532#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
510- pub fn _mm_cvtepi16_epi32 ( a : __m128i ) -> __m128i {
533+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
534+ pub const fn _mm_cvtepi16_epi32 ( a : __m128i ) -> __m128i {
511535 unsafe {
512536 let a = a. as_i16x8 ( ) ;
513537 let a: i16x4 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 ] ) ;
@@ -522,7 +546,8 @@ pub fn _mm_cvtepi16_epi32(a: __m128i) -> __m128i {
522546#[ target_feature( enable = "sse4.1" ) ]
523547#[ cfg_attr( test, assert_instr( pmovsxwq) ) ]
524548#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
525- pub fn _mm_cvtepi16_epi64 ( a : __m128i ) -> __m128i {
549+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
550+ pub const fn _mm_cvtepi16_epi64 ( a : __m128i ) -> __m128i {
526551 unsafe {
527552 let a = a. as_i16x8 ( ) ;
528553 let a: i16x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -537,7 +562,8 @@ pub fn _mm_cvtepi16_epi64(a: __m128i) -> __m128i {
537562#[ target_feature( enable = "sse4.1" ) ]
538563#[ cfg_attr( test, assert_instr( pmovsxdq) ) ]
539564#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
540- pub fn _mm_cvtepi32_epi64 ( a : __m128i ) -> __m128i {
565+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
566+ pub const fn _mm_cvtepi32_epi64 ( a : __m128i ) -> __m128i {
541567 unsafe {
542568 let a = a. as_i32x4 ( ) ;
543569 let a: i32x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -552,7 +578,8 @@ pub fn _mm_cvtepi32_epi64(a: __m128i) -> __m128i {
552578#[ target_feature( enable = "sse4.1" ) ]
553579#[ cfg_attr( test, assert_instr( pmovzxbw) ) ]
554580#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
555- pub fn _mm_cvtepu8_epi16 ( a : __m128i ) -> __m128i {
581+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
582+ pub const fn _mm_cvtepu8_epi16 ( a : __m128i ) -> __m128i {
556583 unsafe {
557584 let a = a. as_u8x16 ( ) ;
558585 let a: u8x8 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 ] ) ;
@@ -567,7 +594,8 @@ pub fn _mm_cvtepu8_epi16(a: __m128i) -> __m128i {
567594#[ target_feature( enable = "sse4.1" ) ]
568595#[ cfg_attr( test, assert_instr( pmovzxbd) ) ]
569596#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
570- pub fn _mm_cvtepu8_epi32 ( a : __m128i ) -> __m128i {
597+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
598+ pub const fn _mm_cvtepu8_epi32 ( a : __m128i ) -> __m128i {
571599 unsafe {
572600 let a = a. as_u8x16 ( ) ;
573601 let a: u8x4 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 ] ) ;
@@ -582,7 +610,8 @@ pub fn _mm_cvtepu8_epi32(a: __m128i) -> __m128i {
582610#[ target_feature( enable = "sse4.1" ) ]
583611#[ cfg_attr( test, assert_instr( pmovzxbq) ) ]
584612#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
585- pub fn _mm_cvtepu8_epi64 ( a : __m128i ) -> __m128i {
613+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
614+ pub const fn _mm_cvtepu8_epi64 ( a : __m128i ) -> __m128i {
586615 unsafe {
587616 let a = a. as_u8x16 ( ) ;
588617 let a: u8x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -598,7 +627,8 @@ pub fn _mm_cvtepu8_epi64(a: __m128i) -> __m128i {
598627#[ target_feature( enable = "sse4.1" ) ]
599628#[ cfg_attr( test, assert_instr( pmovzxwd) ) ]
600629#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
601- pub fn _mm_cvtepu16_epi32 ( a : __m128i ) -> __m128i {
630+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
631+ pub const fn _mm_cvtepu16_epi32 ( a : __m128i ) -> __m128i {
602632 unsafe {
603633 let a = a. as_u16x8 ( ) ;
604634 let a: u16x4 = simd_shuffle ! ( a, a, [ 0 , 1 , 2 , 3 ] ) ;
@@ -614,7 +644,8 @@ pub fn _mm_cvtepu16_epi32(a: __m128i) -> __m128i {
614644#[ target_feature( enable = "sse4.1" ) ]
615645#[ cfg_attr( test, assert_instr( pmovzxwq) ) ]
616646#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
617- pub fn _mm_cvtepu16_epi64 ( a : __m128i ) -> __m128i {
647+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
648+ pub const fn _mm_cvtepu16_epi64 ( a : __m128i ) -> __m128i {
618649 unsafe {
619650 let a = a. as_u16x8 ( ) ;
620651 let a: u16x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -630,7 +661,8 @@ pub fn _mm_cvtepu16_epi64(a: __m128i) -> __m128i {
630661#[ target_feature( enable = "sse4.1" ) ]
631662#[ cfg_attr( test, assert_instr( pmovzxdq) ) ]
632663#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
633- pub fn _mm_cvtepu32_epi64 ( a : __m128i ) -> __m128i {
664+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
665+ pub const fn _mm_cvtepu32_epi64 ( a : __m128i ) -> __m128i {
634666 unsafe {
635667 let a = a. as_u32x4 ( ) ;
636668 let a: u32x2 = simd_shuffle ! ( a, a, [ 0 , 1 ] ) ;
@@ -687,7 +719,8 @@ pub fn _mm_dp_ps<const IMM8: i32>(a: __m128, b: __m128) -> __m128 {
687719#[ target_feature( enable = "sse4.1" ) ]
688720#[ cfg_attr( test, assert_instr( roundpd) ) ]
689721#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
690- pub fn _mm_floor_pd ( a : __m128d ) -> __m128d {
722+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
723+ pub const fn _mm_floor_pd ( a : __m128d ) -> __m128d {
691724 unsafe { simd_floor ( a) }
692725}
693726
@@ -700,7 +733,8 @@ pub fn _mm_floor_pd(a: __m128d) -> __m128d {
700733#[ target_feature( enable = "sse4.1" ) ]
701734#[ cfg_attr( test, assert_instr( roundps) ) ]
702735#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
703- pub fn _mm_floor_ps ( a : __m128 ) -> __m128 {
736+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
737+ pub const fn _mm_floor_ps ( a : __m128 ) -> __m128 {
704738 unsafe { simd_floor ( a) }
705739}
706740
@@ -743,7 +777,8 @@ pub fn _mm_floor_ss(a: __m128, b: __m128) -> __m128 {
743777#[ target_feature( enable = "sse4.1" ) ]
744778#[ cfg_attr( test, assert_instr( roundpd) ) ]
745779#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
746- pub fn _mm_ceil_pd ( a : __m128d ) -> __m128d {
780+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
781+ pub const fn _mm_ceil_pd ( a : __m128d ) -> __m128d {
747782 unsafe { simd_ceil ( a) }
748783}
749784
@@ -756,7 +791,8 @@ pub fn _mm_ceil_pd(a: __m128d) -> __m128d {
756791#[ target_feature( enable = "sse4.1" ) ]
757792#[ cfg_attr( test, assert_instr( roundps) ) ]
758793#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
759- pub fn _mm_ceil_ps ( a : __m128 ) -> __m128 {
794+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
795+ pub const fn _mm_ceil_ps ( a : __m128 ) -> __m128 {
760796 unsafe { simd_ceil ( a) }
761797}
762798
@@ -919,7 +955,8 @@ pub fn _mm_minpos_epu16(a: __m128i) -> __m128i {
919955#[ target_feature( enable = "sse4.1" ) ]
920956#[ cfg_attr( test, assert_instr( pmuldq) ) ]
921957#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
922- pub fn _mm_mul_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
958+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
959+ pub const fn _mm_mul_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
923960 unsafe {
924961 let a = simd_cast :: < _ , i64x2 > ( simd_cast :: < _ , i32x2 > ( a. as_i64x2 ( ) ) ) ;
925962 let b = simd_cast :: < _ , i64x2 > ( simd_cast :: < _ , i32x2 > ( b. as_i64x2 ( ) ) ) ;
@@ -939,7 +976,8 @@ pub fn _mm_mul_epi32(a: __m128i, b: __m128i) -> __m128i {
939976#[ target_feature( enable = "sse4.1" ) ]
940977#[ cfg_attr( test, assert_instr( pmulld) ) ]
941978#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
942- pub fn _mm_mullo_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
979+ #[ rustc_const_unstable( feature = "stdarch_const_intrinsics" , issue = "none" ) ]
980+ pub const fn _mm_mullo_epi32 ( a : __m128i , b : __m128i ) -> __m128i {
943981 unsafe { transmute ( simd_mul ( a. as_i32x4 ( ) , b. as_i32x4 ( ) ) ) }
944982}
945983
0 commit comments