@@ -45,12 +45,15 @@ static ORDERING: Type = Type::Ordering;
4545
4646static M64 : Type = Type :: M64 ;
4747static M128 : Type = Type :: M128 ;
48+ static M128BH : Type = Type :: M128BH ;
4849static M128I : Type = Type :: M128I ;
4950static M128D : Type = Type :: M128D ;
5051static M256 : Type = Type :: M256 ;
52+ static M256BH : Type = Type :: M256BH ;
5153static M256I : Type = Type :: M256I ;
5254static M256D : Type = Type :: M256D ;
5355static M512 : Type = Type :: M512 ;
56+ static M512BH : Type = Type :: M512BH ;
5457static M512I : Type = Type :: M512I ;
5558static M512D : Type = Type :: M512D ;
5659static MMASK8 : Type = Type :: MMASK8 ;
@@ -75,12 +78,15 @@ enum Type {
7578 ConstPtr ( & ' static Type ) ,
7679 M64 ,
7780 M128 ,
81+ M128BH ,
7882 M128D ,
7983 M128I ,
8084 M256 ,
85+ M256BH ,
8186 M256D ,
8287 M256I ,
8388 M512 ,
89+ M512BH ,
8490 M512D ,
8591 M512I ,
8692 MMASK8 ,
@@ -493,6 +499,9 @@ fn matches(rust: &Function, intel: &Intrinsic) -> Result<(), String> {
493499 // The intrinsics guide calls `f16c` `fp16c` in disagreement with
494500 // Intel's architecture manuals.
495501 "fp16c" => String :: from ( "f16c" ) ,
502+ "avx512_bf16" => String :: from ( "avx512bf16" ) ,
503+ // The XML file names VNNI as "avx512_bf16", while Rust calls
504+ // it "avx512bf16".
496505 _ => cpuid,
497506 } ;
498507 let fixed_cpuid = fixup_cpuid ( cpuid) ;
@@ -693,12 +702,15 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
693702 ( & Type :: PrimUnsigned ( 8 ) , "unsigned char" ) => { }
694703 ( & Type :: M64 , "__m64" ) => { }
695704 ( & Type :: M128 , "__m128" ) => { }
705+ ( & Type :: M128BH , "__m128bh" ) => { }
696706 ( & Type :: M128I , "__m128i" ) => { }
697707 ( & Type :: M128D , "__m128d" ) => { }
698708 ( & Type :: M256 , "__m256" ) => { }
709+ ( & Type :: M256BH , "__m256bh" ) => { }
699710 ( & Type :: M256I , "__m256i" ) => { }
700711 ( & Type :: M256D , "__m256d" ) => { }
701712 ( & Type :: M512 , "__m512" ) => { }
713+ ( & Type :: M512BH , "__m512bh" ) => { }
702714 ( & Type :: M512I , "__m512i" ) => { }
703715 ( & Type :: M512D , "__m512d" ) => { }
704716 ( & Type :: MMASK64 , "__mmask64" ) => { }
@@ -726,12 +738,15 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
726738 ( & Type :: MutPtr ( & Type :: PrimUnsigned ( 64 ) ) , "__mmask64*" ) => { }
727739 ( & Type :: MutPtr ( & Type :: M64 ) , "__m64*" ) => { }
728740 ( & Type :: MutPtr ( & Type :: M128 ) , "__m128*" ) => { }
741+ ( & Type :: MutPtr ( & Type :: M128BH ) , "__m128bh*" ) => { }
729742 ( & Type :: MutPtr ( & Type :: M128I ) , "__m128i*" ) => { }
730743 ( & Type :: MutPtr ( & Type :: M128D ) , "__m128d*" ) => { }
731744 ( & Type :: MutPtr ( & Type :: M256 ) , "__m256*" ) => { }
745+ ( & Type :: MutPtr ( & Type :: M256BH ) , "__m256bh*" ) => { }
732746 ( & Type :: MutPtr ( & Type :: M256I ) , "__m256i*" ) => { }
733747 ( & Type :: MutPtr ( & Type :: M256D ) , "__m256d*" ) => { }
734748 ( & Type :: MutPtr ( & Type :: M512 ) , "__m512*" ) => { }
749+ ( & Type :: MutPtr ( & Type :: M512BH ) , "__m512bh*" ) => { }
735750 ( & Type :: MutPtr ( & Type :: M512I ) , "__m512i*" ) => { }
736751 ( & Type :: MutPtr ( & Type :: M512D ) , "__m512d*" ) => { }
737752
@@ -754,12 +769,15 @@ fn equate(t: &Type, intel: &str, intrinsic: &str, is_const: bool) -> Result<(),
754769 ( & Type :: ConstPtr ( & Type :: PrimUnsigned ( 32 ) ) , "void const*" ) => { }
755770 ( & Type :: ConstPtr ( & Type :: M64 ) , "__m64 const*" ) => { }
756771 ( & Type :: ConstPtr ( & Type :: M128 ) , "__m128 const*" ) => { }
772+ ( & Type :: ConstPtr ( & Type :: M128BH ) , "__m128bh const*" ) => { }
757773 ( & Type :: ConstPtr ( & Type :: M128I ) , "__m128i const*" ) => { }
758774 ( & Type :: ConstPtr ( & Type :: M128D ) , "__m128d const*" ) => { }
759775 ( & Type :: ConstPtr ( & Type :: M256 ) , "__m256 const*" ) => { }
776+ ( & Type :: ConstPtr ( & Type :: M256BH ) , "__m256bh const*" ) => { }
760777 ( & Type :: ConstPtr ( & Type :: M256I ) , "__m256i const*" ) => { }
761778 ( & Type :: ConstPtr ( & Type :: M256D ) , "__m256d const*" ) => { }
762779 ( & Type :: ConstPtr ( & Type :: M512 ) , "__m512 const*" ) => { }
780+ ( & Type :: ConstPtr ( & Type :: M512BH ) , "__m512bh const*" ) => { }
763781 ( & Type :: ConstPtr ( & Type :: M512I ) , "__m512i const*" ) => { }
764782 ( & Type :: ConstPtr ( & Type :: M512D ) , "__m512d const*" ) => { }
765783 ( & Type :: ConstPtr ( & Type :: PrimUnsigned ( 32 ) ) , "__mmask32*" ) => { }
0 commit comments