@@ -185,7 +185,8 @@ let Features = "sse", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
185185 def cvttss2si : X86Builtin<" int(_Vector<4, float>)" >;
186186}
187187
188- let Features = " sse" , Attributes = [NoThrow, RequiredVectorWidth<128 >] in {
188+ let Features = " sse" ,
189+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
189190 def movmskps : X86Builtin<" int(_Vector<4, float>)" >;
190191}
191192
@@ -211,11 +212,6 @@ let Features = "sse2", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
211212 def maskmovdqu : X86Builtin<" void(_Vector<16, char>, _Vector<16, char>, char *)" >;
212213}
213214
214- let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
215- def movmskpd : X86Builtin<" int(_Vector<2, double>)" >;
216- def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)" >;
217- }
218-
219215let Features = " sse2" , Attributes = [NoThrow] in {
220216 def movnti : X86Builtin<" void(int *, int)" >;
221217}
@@ -224,6 +220,8 @@ let Features = "sse2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
224220 def pshuflw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
225221 def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
226222 def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
223+ def movmskpd : X86Builtin<" int(_Vector<2, double>)" >;
224+ def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)" >;
227225}
228226
229227let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
@@ -562,11 +560,8 @@ let Features = "avx",
562560 def vtestnzcps256 : X86Builtin<" int(_Vector<8, float>, _Vector<8, float>)" >;
563561 def ptestz256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
564562 def ptestc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
565- def ptestnzc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
566- }
567-
568- let Features = " avx" ,
569- Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
563+ def ptestnzc256
564+ : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)" >;
570565 def movmskpd256 : X86Builtin<" int(_Vector<4, double>)" >;
571566 def movmskps256 : X86Builtin<" int(_Vector<8, float>)" >;
572567}
@@ -634,6 +629,7 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
634629
635630
636631let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
632+ def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)" >;
637633 def pavgb256 : X86Builtin<" _Vector<32, unsigned char>(_Vector<32, unsigned char>, _Vector<32, unsigned char>)" >;
638634 def pavgw256 : X86Builtin<" _Vector<16, unsigned short>(_Vector<16, unsigned short>, _Vector<16, unsigned short>)" >;
639635
0 commit comments