@@ -216,10 +216,13 @@ let Features = "sse2", Attributes = [NoThrow] in {
216216 def movnti : X86Builtin<" void(int *, int)" >;
217217}
218218
219- let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
220- def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
219+ let Features = " sse2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
221220 def pshuflw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
221+ def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
222222 def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
223+ }
224+
225+ let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
223226 def psadbw128 : X86Builtin<" _Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)" >;
224227 def sqrtpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
225228 def sqrtsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
@@ -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