@@ -497,14 +497,14 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
497497 def blendps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)" >;
498498 def blendvpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Vector<4, double>)" >;
499499 def blendvps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Vector<8, float>)" >;
500+ def vinsertf128_pd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<2, double>, _Constant int)" >;
501+ def vinsertf128_ps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<4, float>, _Constant int)" >;
502+ def vinsertf128_si256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>, _Constant int)" >;
500503}
501504
502505let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
503506 def vpermilpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Constant int)" >;
504507 def vpermilps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Constant int)" >;
505- def vinsertf128_pd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<2, double>, _Constant int)" >;
506- def vinsertf128_ps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<4, float>, _Constant int)" >;
507- def vinsertf128_si256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>, _Constant int)" >;
508508 def sqrtpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>)" >;
509509 def sqrtps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>)" >;
510510 def rsqrtps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>)" >;
@@ -513,6 +513,7 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in
513513 def roundps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Constant int)" >;
514514}
515515
516+
516517let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
517518 def vtestzpd : X86Builtin<" int(_Vector<2, double>, _Vector<2, double>)" >;
518519 def vtestcpd : X86Builtin<" int(_Vector<2, double>, _Vector<2, double>)" >;
@@ -609,9 +610,9 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
609610 def permti256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>, _Constant int)" >;
610611 def permdi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
611612 def extract128i256 : X86Builtin<" _Vector<2, long long int>(_Vector<4, long long int>, _Constant int)" >;
612- def insert128i256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>, _Constant int)" >;
613613}
614614
615+
615616let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
616617 def pavgb256 : X86Builtin<" _Vector<32, unsigned char>(_Vector<32, unsigned char>, _Vector<32, unsigned char>)" >;
617618 def pavgw256 : X86Builtin<" _Vector<16, unsigned short>(_Vector<16, unsigned short>, _Vector<16, unsigned short>)" >;
@@ -644,6 +645,8 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
644645 def psrlv8si : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
645646 def psllv4di : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>)" >;
646647 def psrlv4di : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>)" >;
648+
649+ def insert128i256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>, _Constant int)" >;
647650}
648651
649652let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -2945,29 +2948,29 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256
29452948 def extracti32x4_256_mask : X86Builtin<" _Vector<4, int>(_Vector<8, int>, _Constant int, _Vector<4, int>, unsigned char)" >;
29462949}
29472950
2948- let Features = " avx512dq" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2951+ let Features = " avx512dq" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
29492952 def insertf32x8 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<8, float>, _Constant int)" >;
29502953 def insertf64x2_512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<2, double>, _Constant int)" >;
29512954 def inserti32x8 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<8, int>, _Constant int)" >;
29522955 def inserti64x2_512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<2, long long int>, _Constant int)" >;
29532956}
29542957
2955- let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2958+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
29562959 def insertf64x4 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<4, double>, _Constant int)" >;
29572960 def inserti64x4 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<4, long long int>, _Constant int)" >;
29582961}
29592962
2960- let Features = " avx512dq,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2963+ let Features = " avx512dq,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
29612964 def insertf64x2_256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<2, double>, _Constant int)" >;
29622965 def inserti64x2_256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>, _Constant int)" >;
29632966}
29642967
2965- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2968+ let Features = " avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
29662969 def insertf32x4_256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<4, float>, _Constant int)" >;
29672970 def inserti32x4_256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>, _Constant int)" >;
29682971}
29692972
2970- let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2973+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
29712974 def insertf32x4 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<4, float>, _Constant int)" >;
29722975 def inserti32x4 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<4, int>, _Constant int)" >;
29732976}
0 commit comments