@@ -276,21 +276,25 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
276276 def psllw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
277277 def pslld128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
278278 def psllq128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Vector<2, long long int>)" >;
279+ def pmaddwd128 : X86Builtin<" _Vector<4, int>(_Vector<8, short>, _Vector<8, short>)" >;
280+ def pslldqi128_byteshift : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
281+ def psrldqi128_byteshift : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
282+ }
283+
284+ let Features = " sse2" ,
285+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
286+ def pmuludq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
287+
279288 def psllwi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, int)" >;
280289 def pslldi128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int)" >;
281290 def psllqi128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, int)" >;
291+
282292 def psrlwi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, int)" >;
283293 def psrldi128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int)" >;
284294 def psrlqi128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, int)" >;
295+
285296 def psrawi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, int)" >;
286297 def psradi128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int)" >;
287- def pmaddwd128 : X86Builtin<" _Vector<4, int>(_Vector<8, short>, _Vector<8, short>)" >;
288- def pslldqi128_byteshift : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
289- def psrldqi128_byteshift : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
290- }
291-
292- let Features = " sse2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
293- def pmuludq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
294298}
295299
296300let Features = " sse3" , Attributes = [NoThrow] in {
@@ -595,23 +599,15 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
595599 def psignb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)" >;
596600 def psignw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
597601 def psignd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
598- def psllwi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
599602 def psllw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<8, short>)" >;
600603 def pslldqi256_byteshift : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
601- def pslldi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
602604 def pslld256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>)" >;
603- def psllqi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
604605 def psllq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)" >;
605- def psrawi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
606606 def psraw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<8, short>)" >;
607- def psradi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
608607 def psrad256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>)" >;
609608 def psrldqi256_byteshift : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
610- def psrlwi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
611609 def psrlw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<8, short>)" >;
612- def psrldi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
613610 def psrld256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>)" >;
614- def psrlqi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
615611 def psrlq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)" >;
616612 def pblendd128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>, _Constant int)" >;
617613 def pblendd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Constant int)" >;
@@ -628,6 +624,19 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
628624 def pmuldq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
629625 def pmuludq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
630626
627+ def psllwi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
628+ def pslldi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
629+ def psllqi256
630+ : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
631+
632+ def psrlwi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
633+ def psrldi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
634+ def psrlqi256
635+ : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
636+
637+ def psrawi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, int)" >;
638+ def psradi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int)" >;
639+
631640 def pmulhuw256 : X86Builtin<" _Vector<16, unsigned short>(_Vector<16, unsigned short>, _Vector<16, unsigned short>)" >;
632641 def pmulhw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
633642
@@ -2038,43 +2047,22 @@ let Features = "avx512dq,evex512", Attributes = [NoThrow, Const, RequiredVectorW
20382047
20392048let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
20402049 def prold512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Constant int)" >;
2041- def prolq512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
2042- }
2043-
2044- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2045- def prold128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
2046- }
2047-
2048- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2049- def prold256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
2050- }
2051-
2052- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2053- def prolq128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
2054- }
2055-
2056- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2057- def prolq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
2058- }
2059-
2060- let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
20612050 def prord512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Constant int)" >;
2051+ def prolq512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
20622052 def prorq512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
20632053}
20642054
20652055let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2056+ def prold128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
20662057 def prord128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
2067- }
2068-
2069- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2070- def prord256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
2071- }
2072-
2073- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2058+ def prolq128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
20742059 def prorq128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
20752060}
20762061
20772062let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2063+ def prold256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
2064+ def prord256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
2065+ def prolq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
20782066 def prorq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
20792067}
20802068
@@ -2083,7 +2071,6 @@ let Features = "avx512bw,evex512", Attributes = [NoThrow, Const, RequiredVectorW
20832071 def pshuflw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)" >;
20842072 def psllv32hi : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
20852073 def psllw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short>)" >;
2086- def psllwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
20872074}
20882075
20892076let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
@@ -2094,7 +2081,9 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, RequiredVector
20942081 def psllv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
20952082}
20962083
2097- let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2084+ let Features = " avx512f,evex512" ,
2085+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2086+ def psllwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
20982087 def pslldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
20992088 def psllqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
21002089}
@@ -2111,7 +2100,9 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, RequiredVector
21112100 def psrlv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
21122101}
21132102
2114- let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2103+ let Features = " avx512f,evex512" ,
2104+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2105+ def psrlwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
21152106 def psrldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
21162107 def psrlqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
21172108}
@@ -2137,10 +2128,10 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256
21372128}
21382129
21392130let Features = " avx512bw,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2140- def psraw512 : X86Builtin< " _Vector<32, short>(_Vector<32, short>, _Vector<8, short>) " >;
2141- def psrawi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int )" >;
2142- def psrlw512 : X86Builtin< " _Vector<32, short>(_Vector<32, short>, _Vector<8, short>) " >;
2143- def psrlwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int )" >;
2131+ def psraw512
2132+ : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short> )" >;
2133+ def psrlw512
2134+ : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short> )" >;
21442135 def pslldqi512_byteshift : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
21452136 def psrldqi512_byteshift : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
21462137}
@@ -2456,7 +2447,9 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<128>
24562447 def scalefss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>, unsigned char, _Constant int)" >;
24572448}
24582449
2459- let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2450+ let Features = " avx512f,evex512" ,
2451+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2452+ def psrawi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
24602453 def psradi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
24612454 def psraqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
24622455}
@@ -2469,11 +2462,13 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256
24692462 def psraq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)" >;
24702463}
24712464
2472- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2465+ let Features = " avx512vl" ,
2466+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
24732467 def psraqi128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, int)" >;
24742468}
24752469
2476- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2470+ let Features = " avx512vl" ,
2471+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
24772472 def psraqi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
24782473}
24792474
0 commit comments