@@ -124,13 +124,16 @@ let Attributes = [Const, NoThrow, RequiredVectorWidth<128>] in {
124
124
def Op#d128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
125
125
}
126
126
127
- def pmaddubsw128 : X86Builtin<" _Vector<8, short>(_Vector<16, char>, _Vector<16, char>)" >;
128
127
def pmulhrsw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
129
128
def pshufb128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
130
129
def psignb128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
131
130
def psignw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
132
131
def psignd128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
133
132
}
133
+
134
+ let Features = " ssse3" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
135
+ def pmaddubsw128 : X86Builtin<" _Vector<8, short>(_Vector<16, char>, _Vector<16, char>)" >;
136
+ }
134
137
}
135
138
136
139
// AVX
@@ -276,13 +279,14 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
276
279
def psllw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
277
280
def pslld128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
278
281
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
282
def pslldqi128_byteshift : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Constant int)" >;
281
283
def psrldqi128_byteshift : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Constant int)" >;
282
284
}
283
285
284
286
let Features = " sse2" ,
285
287
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
288
+ def pmaddwd128 : X86Builtin<" _Vector<4, int>(_Vector<8, short>, _Vector<8, short>)" >;
289
+
286
290
def pmuludq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
287
291
288
292
def psllwi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, int)" >;
@@ -578,8 +582,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
578
582
def phsubw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
579
583
def phsubd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
580
584
def phsubsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
581
- def pmaddubsw256 : X86Builtin<" _Vector<16, short>(_Vector<32, char>, _Vector<32, char>)" >;
582
- def pmaddwd256 : X86Builtin<" _Vector<8, int>(_Vector<16, short>, _Vector<16, short>)" >;
583
585
def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)" >;
584
586
def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
585
587
def psadbw256 : X86Builtin<" _Vector<4, long long int>(_Vector<32, char>, _Vector<32, char>)" >;
@@ -619,6 +621,9 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
619
621
620
622
def pblendvb256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Vector<32, char>)" >;
621
623
624
+ def pmaddubsw256 : X86Builtin<" _Vector<16, short>(_Vector<32, char>, _Vector<32, char>)" >;
625
+ def pmaddwd256 : X86Builtin<" _Vector<8, int>(_Vector<16, short>, _Vector<16, short>)" >;
626
+
622
627
def pmuldq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
623
628
def pmuludq256 : X86Builtin<" _Vector<4, long long int>(_Vector<8, int>, _Vector<8, int>)" >;
624
629
@@ -1373,10 +1378,6 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
1373
1378
def subps512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)" >;
1374
1379
}
1375
1380
1376
- let Features = " avx512bw" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
1377
- def pmaddubsw512 : X86Builtin<" _Vector<32, short>(_Vector<64, char>, _Vector<64, char>)" >;
1378
- def pmaddwd512 : X86Builtin<" _Vector<16, int>(_Vector<32, short>, _Vector<32, short>)" >;
1379
- }
1380
1381
1381
1382
let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
1382
1383
def addss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>, unsigned char, _Constant int)" >;
@@ -1996,6 +1997,8 @@ let Features = "avx512bw", Attributes = [NoThrow, Const, RequiredVectorWidth<512
1996
1997
}
1997
1998
1998
1999
let Features = " avx512bw" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2000
+ def pmaddubsw512 : X86Builtin<" _Vector<32, short>(_Vector<64, char>, _Vector<64, char>)" >;
2001
+ def pmaddwd512 : X86Builtin<" _Vector<16, int>(_Vector<32, short>, _Vector<32, short>)" >;
1999
2002
def psllv32hi : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
2000
2003
}
2001
2004
0 commit comments