@@ -6865,7 +6865,7 @@ pub fn _mm_maskz_reduce_ss<const IMM8: i32>(k: __mmask8, a: __m128, b: __m128) -
68656865#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
68666866pub fn _mm_fpclass_pd_mask < const IMM8 : i32 > ( a : __m128d ) -> __mmask8 {
68676867 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6868- _mm_mask_fpclass_pd_mask :: < IMM8 > ( 0xff , a )
6868+ unsafe { vfpclasspd_128 ( a . as_f64x2 ( ) , IMM8 ) }
68696869}
68706870
68716871/// Test packed double-precision (64-bit) floating-point elements in a for special categories specified
@@ -6889,10 +6889,7 @@ pub fn _mm_fpclass_pd_mask<const IMM8: i32>(a: __m128d) -> __mmask8 {
68896889#[ rustc_legacy_const_generics( 2 ) ]
68906890#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
68916891pub fn _mm_mask_fpclass_pd_mask < const IMM8 : i32 > ( k1 : __mmask8 , a : __m128d ) -> __mmask8 {
6892- unsafe {
6893- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6894- transmute ( vfpclasspd_128 ( a. as_f64x2 ( ) , IMM8 , k1) )
6895- }
6892+ _mm_fpclass_pd_mask :: < IMM8 > ( a) & k1
68966893}
68976894
68986895/// Test packed double-precision (64-bit) floating-point elements in a for special categories specified
@@ -6916,7 +6913,7 @@ pub fn _mm_mask_fpclass_pd_mask<const IMM8: i32>(k1: __mmask8, a: __m128d) -> __
69166913#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
69176914pub fn _mm256_fpclass_pd_mask < const IMM8 : i32 > ( a : __m256d ) -> __mmask8 {
69186915 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6919- _mm256_mask_fpclass_pd_mask :: < IMM8 > ( 0xff , a )
6916+ unsafe { vfpclasspd_256 ( a . as_f64x4 ( ) , IMM8 ) }
69206917}
69216918
69226919/// Test packed double-precision (64-bit) floating-point elements in a for special categories specified
@@ -6940,10 +6937,7 @@ pub fn _mm256_fpclass_pd_mask<const IMM8: i32>(a: __m256d) -> __mmask8 {
69406937#[ rustc_legacy_const_generics( 2 ) ]
69416938#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
69426939pub fn _mm256_mask_fpclass_pd_mask < const IMM8 : i32 > ( k1 : __mmask8 , a : __m256d ) -> __mmask8 {
6943- unsafe {
6944- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6945- transmute ( vfpclasspd_256 ( a. as_f64x4 ( ) , IMM8 , k1) )
6946- }
6940+ _mm256_fpclass_pd_mask :: < IMM8 > ( a) & k1
69476941}
69486942
69496943/// Test packed double-precision (64-bit) floating-point elements in a for special categories specified
@@ -6967,7 +6961,7 @@ pub fn _mm256_mask_fpclass_pd_mask<const IMM8: i32>(k1: __mmask8, a: __m256d) ->
69676961#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
69686962pub fn _mm512_fpclass_pd_mask < const IMM8 : i32 > ( a : __m512d ) -> __mmask8 {
69696963 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6970- _mm512_mask_fpclass_pd_mask :: < IMM8 > ( 0xff , a )
6964+ unsafe { vfpclasspd_512 ( a . as_f64x8 ( ) , IMM8 ) }
69716965}
69726966
69736967/// Test packed double-precision (64-bit) floating-point elements in a for special categories specified
@@ -6991,10 +6985,7 @@ pub fn _mm512_fpclass_pd_mask<const IMM8: i32>(a: __m512d) -> __mmask8 {
69916985#[ rustc_legacy_const_generics( 2 ) ]
69926986#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
69936987pub fn _mm512_mask_fpclass_pd_mask < const IMM8 : i32 > ( k1 : __mmask8 , a : __m512d ) -> __mmask8 {
6994- unsafe {
6995- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
6996- transmute ( vfpclasspd_512 ( a. as_f64x8 ( ) , IMM8 , k1) )
6997- }
6988+ _mm512_fpclass_pd_mask :: < IMM8 > ( a) & k1
69986989}
69996990
70006991/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7018,7 +7009,7 @@ pub fn _mm512_mask_fpclass_pd_mask<const IMM8: i32>(k1: __mmask8, a: __m512d) ->
70187009#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
70197010pub fn _mm_fpclass_ps_mask < const IMM8 : i32 > ( a : __m128 ) -> __mmask8 {
70207011 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7021- _mm_mask_fpclass_ps_mask :: < IMM8 > ( 0xff , a )
7012+ unsafe { vfpclassps_128 ( a . as_f32x4 ( ) , IMM8 ) }
70227013}
70237014
70247015/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7042,10 +7033,7 @@ pub fn _mm_fpclass_ps_mask<const IMM8: i32>(a: __m128) -> __mmask8 {
70427033#[ rustc_legacy_const_generics( 2 ) ]
70437034#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
70447035pub fn _mm_mask_fpclass_ps_mask < const IMM8 : i32 > ( k1 : __mmask8 , a : __m128 ) -> __mmask8 {
7045- unsafe {
7046- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7047- transmute ( vfpclassps_128 ( a. as_f32x4 ( ) , IMM8 , k1) )
7048- }
7036+ _mm_fpclass_ps_mask :: < IMM8 > ( a) & k1
70497037}
70507038
70517039/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7069,7 +7057,7 @@ pub fn _mm_mask_fpclass_ps_mask<const IMM8: i32>(k1: __mmask8, a: __m128) -> __m
70697057#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
70707058pub fn _mm256_fpclass_ps_mask < const IMM8 : i32 > ( a : __m256 ) -> __mmask8 {
70717059 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7072- _mm256_mask_fpclass_ps_mask :: < IMM8 > ( 0xff , a )
7060+ unsafe { vfpclassps_256 ( a . as_f32x8 ( ) , IMM8 ) }
70737061}
70747062
70757063/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7093,10 +7081,7 @@ pub fn _mm256_fpclass_ps_mask<const IMM8: i32>(a: __m256) -> __mmask8 {
70937081#[ rustc_legacy_const_generics( 2 ) ]
70947082#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
70957083pub fn _mm256_mask_fpclass_ps_mask < const IMM8 : i32 > ( k1 : __mmask8 , a : __m256 ) -> __mmask8 {
7096- unsafe {
7097- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7098- transmute ( vfpclassps_256 ( a. as_f32x8 ( ) , IMM8 , k1) )
7099- }
7084+ _mm256_fpclass_ps_mask :: < IMM8 > ( a) & k1
71007085}
71017086
71027087/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7120,7 +7105,7 @@ pub fn _mm256_mask_fpclass_ps_mask<const IMM8: i32>(k1: __mmask8, a: __m256) ->
71207105#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
71217106pub fn _mm512_fpclass_ps_mask < const IMM8 : i32 > ( a : __m512 ) -> __mmask16 {
71227107 static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7123- _mm512_mask_fpclass_ps_mask :: < IMM8 > ( 0xffff , a )
7108+ unsafe { vfpclassps_512 ( a . as_f32x16 ( ) , IMM8 ) }
71247109}
71257110
71267111/// Test packed single-precision (32-bit) floating-point elements in a for special categories specified
@@ -7144,10 +7129,7 @@ pub fn _mm512_fpclass_ps_mask<const IMM8: i32>(a: __m512) -> __mmask16 {
71447129#[ rustc_legacy_const_generics( 2 ) ]
71457130#[ stable( feature = "stdarch_x86_avx512" , since = "1.89" ) ]
71467131pub fn _mm512_mask_fpclass_ps_mask < const IMM8 : i32 > ( k1 : __mmask16 , a : __m512 ) -> __mmask16 {
7147- unsafe {
7148- static_assert_uimm_bits ! ( IMM8 , 8 ) ;
7149- transmute ( vfpclassps_512 ( a. as_f32x16 ( ) , IMM8 , k1) )
7150- }
7132+ _mm512_fpclass_ps_mask :: < IMM8 > ( a) & k1
71517133}
71527134
71537135/// Test the lower double-precision (64-bit) floating-point element in a for special categories specified
@@ -7377,19 +7359,19 @@ unsafe extern "C" {
73777359 #[ link_name = "llvm.x86.avx512.mask.reduce.ss" ]
73787360 fn vreducess ( a : f32x4 , b : f32x4 , src : f32x4 , k : __mmask8 , imm8 : i32 , sae : i32 ) -> f32x4 ;
73797361
7380- #[ link_name = "llvm.x86.avx512.mask. fpclass.pd.128" ]
7381- fn vfpclasspd_128 ( a : f64x2 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
7382- #[ link_name = "llvm.x86.avx512.mask. fpclass.pd.256" ]
7383- fn vfpclasspd_256 ( a : f64x4 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
7384- #[ link_name = "llvm.x86.avx512.mask. fpclass.pd.512" ]
7385- fn vfpclasspd_512 ( a : f64x8 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
7386-
7387- #[ link_name = "llvm.x86.avx512.mask. fpclass.ps.128" ]
7388- fn vfpclassps_128 ( a : f32x4 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
7389- #[ link_name = "llvm.x86.avx512.mask. fpclass.ps.256" ]
7390- fn vfpclassps_256 ( a : f32x8 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
7391- #[ link_name = "llvm.x86.avx512.mask. fpclass.ps.512" ]
7392- fn vfpclassps_512 ( a : f32x16 , imm8 : i32 , k : __mmask16 ) -> __mmask16 ;
7362+ #[ link_name = "llvm.x86.avx512.fpclass.pd.128" ]
7363+ fn vfpclasspd_128 ( a : f64x2 , imm8 : i32 ) -> __mmask8 ;
7364+ #[ link_name = "llvm.x86.avx512.fpclass.pd.256" ]
7365+ fn vfpclasspd_256 ( a : f64x4 , imm8 : i32 ) -> __mmask8 ;
7366+ #[ link_name = "llvm.x86.avx512.fpclass.pd.512" ]
7367+ fn vfpclasspd_512 ( a : f64x8 , imm8 : i32 ) -> __mmask8 ;
7368+
7369+ #[ link_name = "llvm.x86.avx512.fpclass.ps.128" ]
7370+ fn vfpclassps_128 ( a : f32x4 , imm8 : i32 ) -> __mmask8 ;
7371+ #[ link_name = "llvm.x86.avx512.fpclass.ps.256" ]
7372+ fn vfpclassps_256 ( a : f32x8 , imm8 : i32 ) -> __mmask8 ;
7373+ #[ link_name = "llvm.x86.avx512.fpclass.ps.512" ]
7374+ fn vfpclassps_512 ( a : f32x16 , imm8 : i32 ) -> __mmask16 ;
73937375
73947376 #[ link_name = "llvm.x86.avx512.mask.fpclass.sd" ]
73957377 fn vfpclasssd ( a : f64x2 , imm8 : i32 , k : __mmask8 ) -> __mmask8 ;
0 commit comments