@@ -52,7 +52,7 @@ def emms : X86Builtin<"void()"> {
52
52
let Features = " mmx" ;
53
53
}
54
54
55
- let Attributes = [NoThrow, Const, RequiredVectorWidth<64 >], Features = " sse" in {
55
+ let Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<64 >], Features = " sse" in {
56
56
def vec_ext_v4hi : X86Builtin<" short(_Vector<4, short>, _Constant int)" >;
57
57
def vec_set_v4hi : X86Builtin<" _Vector<4, short>(_Vector<4, short>, short, _Constant int)" >;
58
58
}
@@ -92,13 +92,6 @@ let Attributes = [Const, NoThrow, RequiredVectorWidth<128>] in {
92
92
def cmpsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant char)" >;
93
93
}
94
94
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
- }
102
95
103
96
let Features = " sse2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
104
97
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 {
108
101
def packsswb128 : X86Builtin<" _Vector<16, char>(_Vector<8, short>, _Vector<8, short>)" >;
109
102
def packssdw128 : X86Builtin<" _Vector<8, short>(_Vector<4, int>, _Vector<4, int>)" >;
110
103
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)" >;
111
110
}
112
111
113
112
let Features = " sse3" in {
@@ -217,10 +216,13 @@ let Features = "sse2", Attributes = [NoThrow] in {
217
216
def movnti : X86Builtin<" void(int *, int)" >;
218
217
}
219
218
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 {
222
220
def pshuflw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
221
+ def pshufd : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Constant int)" >;
223
222
def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
223
+ }
224
+
225
+ let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
224
226
def psadbw128 : X86Builtin<" _Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)" >;
225
227
def sqrtpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
226
228
def sqrtsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
@@ -323,9 +325,6 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
323
325
def ptestnzc128 : X86Builtin<" int(_Vector<2, long long int>, _Vector<2, long long int>)" >;
324
326
def mpsadbw128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>, _Constant char)" >;
325
327
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)" >;
329
328
}
330
329
331
330
let Features = " sse4.1" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -338,6 +337,10 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, Constexpr, RequiredVector
338
337
339
338
def pmuldq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
340
339
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)" >;
341
344
}
342
345
343
346
let Features = " sse4.2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
@@ -560,7 +563,7 @@ let Features = "avx", Attributes = [NoThrow, RequiredVectorWidth<128>] in {
560
563
def maskstoreps : X86Builtin<" void(_Vector<4, float *>, _Vector<4, int>, _Vector<4, float>)" >;
561
564
}
562
565
563
- let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
566
+ let Features = " avx" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
564
567
def vec_ext_v32qi : X86Builtin<" char(_Vector<32, char>, _Constant int)" >;
565
568
def vec_ext_v16hi : X86Builtin<" short(_Vector<16, short>, _Constant int)" >;
566
569
def vec_ext_v8si : X86Builtin<" int(_Vector<8, int>, _Constant int)" >;
@@ -584,9 +587,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
584
587
def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
585
588
def psadbw256 : X86Builtin<" _Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)" >;
586
589
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)" >;
590
590
def psignb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)" >;
591
591
def psignw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
592
592
def psignd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
@@ -647,6 +647,10 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
647
647
def packsswb256 : X86Builtin<" _Vector<32, char>(_Vector<16, short>, _Vector<16, short>)" >;
648
648
def packssdw256 : X86Builtin<" _Vector<16, short>(_Vector<8, int>, _Vector<8, int>)" >;
649
649
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)" >;
650
654
}
651
655
652
656
let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -1017,6 +1021,7 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
1017
1021
let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
1018
1022
def pmuldq512 : X86Builtin<" _Vector<8, long long int>(_Vector<16, int>, _Vector<16, int>)" >;
1019
1023
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)" >;
1020
1025
}
1021
1026
1022
1027
let Features = " avx512f" , Attributes = [NoThrow, RequiredVectorWidth<512 >] in {
@@ -1990,13 +1995,13 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, Constexpr, RequiredVect
1990
1995
}
1991
1996
1992
1997
let 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)" >;
1995
1998
def psllw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<8, short>)" >;
1996
1999
}
1997
2000
1998
2001
let Features = " avx512bw" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
1999
2002
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)" >;
2000
2005
}
2001
2006
2002
2007
let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
@@ -2026,8 +2031,7 @@ let Features = "avx512bw,avx512vl", Attributes = [NoThrow, Const, Constexpr, Req
2026
2031
def psrlv8hi : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
2027
2032
}
2028
2033
2029
- let Features = " avx512f" ,
2030
- Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2034
+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2031
2035
def psrlwi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, int)" >;
2032
2036
def psrldi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, int)" >;
2033
2037
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>
3266
3270
}
3267
3271
3268
3272
let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3269
- def pshufd512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Constant int)" >;
3270
3273
def expanddf512_mask : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, unsigned char)" >;
3271
3274
def expanddi512_mask : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, unsigned char)" >;
3272
3275
}
0 commit comments