@@ -268,7 +268,6 @@ let Header = "emmintrin.h", Attributes = [NoThrow, RequireDeclaration] in {
268
268
}
269
269
270
270
let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
271
- def pmuludq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
272
271
def psraw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
273
272
def psrad128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
274
273
def psrlw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
@@ -290,6 +289,10 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
290
289
def psrldqi128_byteshift : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Constant int)" >;
291
290
}
292
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>)" >;
294
+ }
295
+
293
296
let Features = " sse3" , Attributes = [NoThrow] in {
294
297
def monitor : X86Builtin<" void(void const *, unsigned int, unsigned int)" >;
295
298
def mwait : X86Builtin<" void(unsigned int, unsigned int)" >;
@@ -312,7 +315,6 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
312
315
def blendvpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Vector<2, double>)" >;
313
316
def blendvps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>)" >;
314
317
def packusdw128 : X86Builtin<" _Vector<8, short>(_Vector<4, int>, _Vector<4, int>)" >;
315
- def pmuldq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
316
318
def roundps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Constant int)" >;
317
319
def roundss : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)" >;
318
320
def roundsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)" >;
@@ -329,6 +331,10 @@ let Features = "sse4.1", Attributes = [NoThrow, Const, RequiredVectorWidth<128>]
329
331
def vec_set_v4si : X86Builtin<" _Vector<4, int>(_Vector<4, int>, int, _Constant int)" >;
330
332
}
331
333
334
+ let Features = " sse4.1" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
335
+ def pmuldq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
336
+ }
337
+
332
338
let Features = " sse4.2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
333
339
def pcmpistrm128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>, _Constant char)" >;
334
340
def pcmpistri128 : X86Builtin<" int(_Vector<16, char>, _Vector<16, char>, _Constant char)" >;
@@ -580,9 +586,7 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
580
586
def pmaddubsw256 : X86Builtin<" _Vector<16, short>(_Vector<32, char>, _Vector<32, char>)" >;
581
587
def pmaddwd256 : X86Builtin<" _Vector<8, int>(_Vector<16, short>, _Vector<16, short>)" >;
582
588
def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)" >;
583
- def pmuldq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
584
589
def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
585
- def pmuludq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
586
590
def psadbw256 : X86Builtin<" _Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)" >;
587
591
def pshufb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)" >;
588
592
def pshufd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
@@ -620,6 +624,11 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
620
624
def insert128i256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>, _Constant int)" >;
621
625
}
622
626
627
+ let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
628
+ def pmuldq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
629
+ def pmuludq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
630
+ }
631
+
623
632
let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
624
633
def pmulhuw256 : X86Builtin<" _Vector<16, unsigned short>(_Vector<16, unsigned short>, _Vector<16, unsigned short>)" >;
625
634
def pmulhw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
@@ -1078,6 +1087,9 @@ let Features = "avx512f,evex512", Attributes = [NoThrow, Const, RequiredVectorWi
1078
1087
def cvtpd2ps512_mask : X86Builtin<" _Vector<8, float>(_Vector<8, double>, _Vector<8, float>, unsigned char, _Constant int)" >;
1079
1088
def vcvtps2ph512_mask : X86Builtin<" _Vector<16, short>(_Vector<16, float>, _Constant int, _Vector<16, short>, unsigned short)" >;
1080
1089
def vcvtph2ps512_mask : X86Builtin<" _Vector<16, float>(_Vector<16, short>, _Vector<16, float>, unsigned short, _Constant int)" >;
1090
+ }
1091
+
1092
+ let Features = " avx512f,evex512" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
1081
1093
def pmuldq512 : X86Builtin<" _Vector<8, long long int>(_Vector<16, int>, _Vector<16, int>)" >;
1082
1094
def pmuludq512 : X86Builtin<" _Vector<8, long long int>(_Vector<16, int>, _Vector<16, int>)" >;
1083
1095
}
0 commit comments