@@ -184,7 +184,8 @@ let Features = "sse", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
184184 def cvttss2si : X86Builtin<" int(_Vector<4, float>)" >;
185185}
186186
187- let Features = " sse" , Attributes = [NoThrow, RequiredVectorWidth<128 >] in {
187+ let Features = " sse" ,
188+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
188189 def movmskps : X86Builtin<" int(_Vector<4, float>)" >;
189190}
190191
@@ -210,11 +211,6 @@ let Features = "sse2", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
210211 def maskmovdqu : X86Builtin<" void(_Vector<16, char>, _Vector<16, char>, char *)" >;
211212}
212213
213- let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
214- def movmskpd : X86Builtin<" int(_Vector<2, double>)" >;
215- def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)" >;
216- }
217-
218214let Features = " sse2" , Attributes = [NoThrow] in {
219215 def movnti : X86Builtin<" void(int *, int)" >;
220216}
@@ -223,6 +219,8 @@ let Features = "sse2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
223219 def pshuflw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
224220 def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
225221 def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
222+ def movmskpd : X86Builtin<" int(_Vector<2, double>)" >;
223+ def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)" >;
226224}
227225
228226let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
@@ -538,6 +536,18 @@ let Features = "avx",
538536 def vtestnzcps : X86Builtin<" int(_Vector<4, float>, _Vector<4, float>)" >;
539537}
540538
539+ let Features = " avx" ,
540+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
541+ def movmskpd256 : X86Builtin<" int(_Vector<4, double>)" >;
542+ def movmskps256 : X86Builtin<" int(_Vector<8, float>)" >;
543+ }
544+
545+ let Features = " avx" ,
546+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
547+ def movmskpd256 : X86Builtin<" int(_Vector<4, double>)" >;
548+ def movmskps256 : X86Builtin<" int(_Vector<8, float>)" >;
549+ }
550+
541551let Features = " avx" ,
542552 Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
543553 def vtestzpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)" >;
@@ -548,13 +558,8 @@ let Features = "avx",
548558 def vtestnzcps256 : X86Builtin<" int(_Vector<8, float>, _Vector<8, float>)" >;
549559 def ptestz256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
550560 def ptestc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
551- 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 {
556- def movmskpd256 : X86Builtin<" int(_Vector<4, double>)" >;
557- def movmskps256 : X86Builtin<" int(_Vector<8, float>)" >;
561+ def ptestnzc256
562+ : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
558563}
559564
560565let Features = " avx" , Attributes = [NoThrow] in {
@@ -589,6 +594,11 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
589594 def vec_set_v8si : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int, _Constant int)" >;
590595}
591596
597+ let Features = " avx2" ,
598+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
599+ def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)" >;
600+ }
601+
592602let Features = " avx2" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
593603 def mpsadbw256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant char)" >;
594604 def palignr256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant int)" >;
0 commit comments