@@ -323,14 +323,22 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
323323 def roundsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)" >;
324324 def roundpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Constant int)" >;
325325 def dpps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant char)" >;
326- def dppd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant char)" >;
327- def ptestz128 : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
328- def ptestc128 : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
329- def ptestnzc128 : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
326+ def dppd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, "
327+ " _Vector<2,double>, _Constant char)" >;
330328 def mpsadbw128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>, _Constant char)" >;
331329 def phminposuw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>)" >;
332330}
333331
332+ let Features = " sse4.1" ,
333+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
334+ def ptestz128
335+ : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
336+ def ptestc128
337+ : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
338+ def ptestnzc128
339+ : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
340+ }
341+
334342let Features = " sse4.1" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
335343 def pblendw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>, _Constant int)" >;
336344 def blendpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)" >;
@@ -520,8 +528,8 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in
520528 def roundps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Constant int)" >;
521529}
522530
523-
524- let Features = " avx " , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
531+ let Features = " avx " ,
532+ Attributes = [NoThrow, Const, Constexpr , RequiredVectorWidth<128 >] in {
525533 def vtestzpd : X86Builtin<" int(_Vector<2, double>, _Vector<2, double>)" >;
526534 def vtestcpd : X86Builtin<" int(_Vector<2, double>, _Vector<2, double>)" >;
527535 def vtestnzcpd : X86Builtin<" int(_Vector<2, double>, _Vector<2, double>)" >;
@@ -530,7 +538,8 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
530538 def vtestnzcps : X86Builtin<" int(_Vector<4, float>, _Vector<4, float>)" >;
531539}
532540
533- let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
541+ let Features = " avx" ,
542+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
534543 def vtestzpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)" >;
535544 def vtestcpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)" >;
536545 def vtestnzcpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)" >;
@@ -540,6 +549,10 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in
540549 def ptestz256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
541550 def ptestc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
542551 def ptestnzc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
552+ }
553+
554+ let Features = " avx" ,
555+ Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
543556 def movmskpd256 : X86Builtin<" int(_Vector<4, double>)" >;
544557 def movmskps256 : X86Builtin<" int(_Vector<8, float>)" >;
545558}
0 commit comments