@@ -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
@@ -2062,7 +2071,6 @@ let Features = "avx512bw,evex512", Attributes = [NoThrow, Const, RequiredVectorW
20622071 def pshuflw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)" >;
20632072 def psllv32hi : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
20642073 def psllw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short>)" >;
2065- def psllwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
20662074}
20672075
20682076let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
@@ -2073,7 +2081,9 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, RequiredVector
20732081 def psllv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
20742082}
20752083
2076- 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)" >;
20772087 def pslldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
20782088 def psllqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
20792089}
@@ -2090,7 +2100,9 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, RequiredVector
20902100 def psrlv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
20912101}
20922102
2093- 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)" >;
20942106 def psrldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
20952107 def psrlqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
20962108}
@@ -2116,10 +2128,10 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256
21162128}
21172129
21182130let Features = " avx512bw,evex512" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
2119- def psraw512 : X86Builtin< " _Vector<32, short>(_Vector<32, short>, _Vector<8, short>) " >;
2120- def psrawi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int )" >;
2121- def psrlw512 : X86Builtin< " _Vector<32, short>(_Vector<32, short>, _Vector<8, short>) " >;
2122- 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> )" >;
21232135 def pslldqi512_byteshift : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
21242136 def psrldqi512_byteshift : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
21252137}
@@ -2435,7 +2447,9 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<128>
24352447 def scalefss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>, unsigned char, _Constant int)" >;
24362448}
24372449
2438- 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)" >;
24392453 def psradi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
24402454 def psraqi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, int)" >;
24412455}
@@ -2448,11 +2462,13 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<256
24482462 def psraq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)" >;
24492463}
24502464
2451- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
2465+ let Features = " avx512vl" ,
2466+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
24522467 def psraqi128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, int)" >;
24532468}
24542469
2455- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
2470+ let Features = " avx512vl" ,
2471+ Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
24562472 def psraqi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, int)" >;
24572473}
24582474
0 commit comments