@@ -181,7 +181,7 @@ let Features = "sse", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
181181  def cvttss2si : X86Builtin<" int(_Vector<4, float>)"  >;
182182}
183183
184- let Features = " sse"  , Attributes = [NoThrow, RequiredVectorWidth<128 >] in {
184+ let Features = " sse"  , Attributes = [NoThrow, Constexpr,  RequiredVectorWidth<128 >] in {
185185  def movmskps : X86Builtin<" int(_Vector<4, float>)"  >;
186186}
187187
@@ -207,7 +207,7 @@ let Features = "sse2", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
207207  def maskmovdqu : X86Builtin<" void(_Vector<16, char>, _Vector<16, char>, char *)"  >;
208208}
209209
210- let Features = " sse2"  , Attributes = [NoThrow, Const , RequiredVectorWidth<128 >] in {
210+ let Features = " sse2"  , Attributes = [NoThrow, Constexpr , RequiredVectorWidth<128 >] in {
211211  def movmskpd : X86Builtin<" int(_Vector<2, double>)"  >;
212212  def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)"  >;
213213}
@@ -526,6 +526,11 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] in
526526  def vtestnzcps : X86Builtin<" int(_Vector<4, float>, _Vector<4, float>)"  >;
527527}
528528
529+ let Features = " avx"  , Attributes = [NoThrow, Constexpr, RequiredVectorWidth<256 >] in {
530+   def movmskpd256 : X86Builtin<" int(_Vector<4, double>)"  >;
531+   def movmskps256 : X86Builtin<" int(_Vector<8, float>)"  >;
532+ }
533+ 
529534let Features = " avx"  , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
530535  def vtestzpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)"  >;
531536  def vtestcpd256 : X86Builtin<" int(_Vector<4, double>, _Vector<4, double>)"  >;
@@ -536,8 +541,6 @@ let Features = "avx", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] in
536541  def ptestz256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)"  >;
537542  def ptestc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)"  >;
538543  def ptestnzc256 : X86Builtin<" int(_Vector<4, long long int>, _Vector<4, long long int>)"  >;
539-   def movmskpd256 : X86Builtin<" int(_Vector<4, double>)"  >;
540-   def movmskps256 : X86Builtin<" int(_Vector<8, float>)"  >;
541544}
542545
543546let Features = " avx"  , Attributes = [NoThrow] in {
@@ -572,6 +575,10 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
572575  def vec_set_v8si : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int, _Constant int)"  >;
573576}
574577
578+ let Features = " avx2"  , Attributes = [NoThrow, Constexpr, RequiredVectorWidth<256 >] in {
579+   def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)"  >;
580+ }
581+ 
575582let Features = " avx2"  , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
576583  def mpsadbw256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant char)"  >;
577584  def palignr256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant int)"  >;
@@ -583,7 +590,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
583590  def phsubsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)"  >;
584591  def pmaddubsw256 : X86Builtin<" _Vector<16, short>(_Vector<32, char>, _Vector<32, char>)"  >;
585592  def pmaddwd256 : X86Builtin<" _Vector<8, int>(_Vector<16, short>, _Vector<16, short>)"  >;
586-   def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)"  >;
587593  def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)"  >;
588594  def psadbw256 : X86Builtin<" _Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)"  >;
589595  def pshufb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)"  >;
0 commit comments