@@ -52,7 +52,7 @@ def emms : X86Builtin<"void()"> {
5252  let Features = " mmx"  ;
5353}
5454
55- let Attributes = [NoThrow, Const, RequiredVectorWidth<64 >], Features = " sse"   in {
55+ let Attributes = [NoThrow, Const, Constexpr,  RequiredVectorWidth<64 >], Features = " sse"   in {
5656  def vec_ext_v4hi : X86Builtin<" short(_Vector<4, short>, _Constant int)"  >;
5757  def vec_set_v4hi : X86Builtin<" _Vector<4, short>(_Vector<4, short>, short, _Constant int)"  >;
5858}
@@ -92,13 +92,6 @@ let Attributes = [Const, NoThrow, RequiredVectorWidth<128>] in {
9292    def cmpsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant char)"  >;
9393  }
9494
95-   let Features = " sse2"   in {
96-     def vec_ext_v2di : X86Builtin<" long long int(_Vector<2, long long int>, _Constant int)"  >;
97-     def vec_ext_v4si : X86Builtin<" int(_Vector<4, int>, _Constant int)"  >;
98-     def vec_ext_v4sf : X86Builtin<" float(_Vector<4, float>, _Constant int)"  >;
99-     def vec_ext_v8hi : X86Builtin<" short(_Vector<8, short>, _Constant int)"  >;
100-     def vec_set_v8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, short, _Constant int)"  >;
101-   }
10295
10396  let Features = " sse2"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
10497    def pavgb128 : X86Builtin<" _Vector<16, unsigned char>(_Vector<16, unsigned char>, _Vector<16, unsigned char>)"  >;
@@ -108,6 +101,12 @@ let Attributes = [Const, NoThrow, RequiredVectorWidth<128>] in {
108101    def packsswb128 : X86Builtin<" _Vector<16, char>(_Vector<8, short>, _Vector<8, short>)"  >;
109102    def packssdw128 : X86Builtin<" _Vector<8, short>(_Vector<4, int>, _Vector<4, int>)"  >;
110103    def packuswb128 : X86Builtin<" _Vector<16, char>(_Vector<8, short>, _Vector<8, short>)"  >;
104+ 
105+     def vec_ext_v2di : X86Builtin<" long long int(_Vector<2, long long int>, _Constant int)"  >;
106+     def vec_ext_v4si : X86Builtin<" int(_Vector<4, int>, _Constant int)"  >;
107+     def vec_ext_v4sf : X86Builtin<" float(_Vector<4, float>, _Constant int)"  >;
108+     def vec_ext_v8hi : X86Builtin<" short(_Vector<8, short>, _Constant int)"  >;
109+     def vec_set_v8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, short, _Constant int)"  >;
111110  }
112111
113112  let Features = " sse3"   in {
@@ -217,10 +216,13 @@ let Features = "sse2", Attributes = [NoThrow] in {
217216  def movnti : X86Builtin<" void(int *, int)"  >;
218217}
219218
220- let Features = " sse2"  , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
221-   def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)"  >;
219+ let Features = " sse2"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
222220  def pshuflw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)"  >;
221+   def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)"  >;
223222  def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)"  >;
223+ }
224+ 
225+ let Features = " sse2"  , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
224226  def psadbw128 : X86Builtin<" _Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)"  >;
225227  def sqrtpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)"  >;
226228  def sqrtsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)"  >;
@@ -323,9 +325,6 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
323325  def ptestnzc128 : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)"  >;
324326  def mpsadbw128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>, _Constant char)"  >;
325327  def phminposuw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>)"  >;
326-   def vec_ext_v16qi : X86Builtin<" char(_Vector<16, char>, _Constant int)"  >;
327-   def vec_set_v16qi : X86Builtin<" _Vector<16, char>(_Vector<16, char>, char, _Constant int)"  >;
328-   def vec_set_v4si : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int, _Constant int)"  >;
329328}
330329
331330let Features = " sse4.1"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -338,6 +337,10 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, Constexpr, RequiredVector
338337
339338  def pmuldq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)"  >;
340339  def packusdw128 : X86Builtin<" _Vector<8, short>(_Vector<4, int>, _Vector<4, int>)"  >;
340+ 
341+   def vec_ext_v16qi : X86Builtin<" char(_Vector<16, char>, _Constant int)"  >;
342+   def vec_set_v16qi : X86Builtin<" _Vector<16, char>(_Vector<16, char>, char, _Constant int)"  >;
343+   def vec_set_v4si : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int, _Constant int)"  >;
341344}
342345
343346let Features = " sse4.2"  , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
@@ -560,7 +563,7 @@ let Features = "avx", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
560563  def maskstoreps : X86Builtin<" void(_Vector<4, float *>, _Vector<4, int>, _Vector<4, float>)"  >;
561564}
562565
563- let Features = " avx"  , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
566+ let Features = " avx"  , Attributes = [NoThrow, Const, Constexpr,  RequiredVectorWidth<256 >] in {
564567  def vec_ext_v32qi : X86Builtin<" char(_Vector<32, char>, _Constant int)"  >;
565568  def vec_ext_v16hi : X86Builtin<" short(_Vector<16, short>, _Constant int)"  >;
566569  def vec_ext_v8si : X86Builtin<" int(_Vector<8, int>, _Constant int)"  >;
@@ -584,9 +587,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
584587  def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)"  >;
585588  def psadbw256 : X86Builtin<" _Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)"  >;
586589  def pshufb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)"  >;
587-   def pshufd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)"  >;
588-   def pshuflw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)"  >;
589-   def pshufhw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)"  >;
590590  def psignb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)"  >;
591591  def psignw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)"  >;
592592  def psignd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)"  >;
@@ -647,6 +647,10 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
647647  def packsswb256 : X86Builtin<" _Vector<32, char>(_Vector<16, short>, _Vector<16, short>)"  >;
648648  def packssdw256 : X86Builtin<" _Vector<16, short>(_Vector<8, int>, _Vector<8, int>)"  >;
649649  def packuswb256 : X86Builtin<" _Vector<32, char>(_Vector<16, short>, _Vector<16, short>)"  >;
650+ 
651+   def pshuflw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)"  >;
652+   def pshufhw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)"  >;
653+   def pshufd256  : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)"  >;
650654}
651655
652656let Features = " avx2"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -1017,6 +1021,7 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
10171021let Features = " avx512f"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
10181022  def pmuldq512 : X86Builtin<" _Vector<8, long long int>(_Vector<16, int>, _Vector<16, int>)"  >;
10191023  def pmuludq512 : X86Builtin<" _Vector<8, long long int>(_Vector<16, int>, _Vector<16, int>)"  >;
1024+   def pshufd512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Constant int)"  >;
10201025}
10211026
10221027let Features = " avx512f"  , Attributes = [NoThrow, RequiredVectorWidth<512 >] in {
@@ -1990,13 +1995,13 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, Constexpr, RequiredVect
19901995}
19911996
19921997let Features = " avx512bw"  , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
1993-   def pshufhw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)"  >;
1994-   def pshuflw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)"  >;
19951998  def psllw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short>)"  >;
19961999}
19972000
19982001let Features = " avx512bw"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
19992002  def psllv32hi : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)"  >;
2003+   def pshufhw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)"  >;
2004+   def pshuflw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)"  >;
20002005}
20012006
20022007let Features = " avx512bw,avx512vl"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
@@ -2026,8 +2031,7 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, Constexpr, Req
20262031  def psrlv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)"  >;
20272032}
20282033
2029- let Features = " avx512f"  ,
2030-     Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2034+ let Features = " avx512f"  , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
20312035  def psrlwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)"  >;
20322036  def psrldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)"  >;
20332037  def psrlqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)"  >;
@@ -3266,7 +3270,6 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<128>
32663270}
32673271
32683272let Features = " avx512f"  , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3269-   def pshufd512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Constant int)"  >;
32703273  def expanddf512_mask : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, unsigned char)"  >;
32713274  def expanddi512_mask : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, unsigned char)"  >;
32723275}
0 commit comments