@@ -123,13 +123,16 @@ let Attributes = [Const, NoThrow, RequiredVectorWidth<128>] in {
123
123
def Op#d128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
124
124
}
125
125
126
- def pmaddubsw128 : X86Builtin<" _Vector<8, short>(_Vector<16, char>, _Vector<16, char>)" >;
127
126
def pmulhrsw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
128
127
def pshufb128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
129
128
def psignb128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
130
129
def psignw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
131
130
def psignd128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
132
131
}
132
+
133
+ let Features = " ssse3" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
134
+ def pmaddubsw128 : X86Builtin<" _Vector<8, short>(_Vector<16, char>, _Vector<16, char>)" >;
135
+ }
133
136
}
134
137
135
138
// AVX
@@ -278,13 +281,14 @@ let Features = "sse2", Attributes = [NoThrow, Const, RequiredVectorWidth<128>] i
278
281
def psllw128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
279
282
def pslld128 : X86Builtin<" _Vector<4, int>(_Vector<4, int>, _Vector<4, int>)" >;
280
283
def psllq128 : X86Builtin<" _Vector<2, long long int>(_Vector<2, long long int>, _Vector<2, long long int>)" >;
281
- def pmaddwd128 : X86Builtin<" _Vector<4, int>(_Vector<8, short>, _Vector<8, short>)" >;
282
284
def pslldqi128_byteshift : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Constant int)" >;
283
285
def psrldqi128_byteshift : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Constant int)" >;
284
286
}
285
287
286
288
let Features = " sse2" ,
287
289
Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
290
+ def pmaddwd128 : X86Builtin<" _Vector<4, int>(_Vector<8, short>, _Vector<8, short>)" >;
291
+
288
292
def pmuludq128 : X86Builtin<" _Vector<2, long long int>(_Vector<4, int>, _Vector<4, int>)" >;
289
293
290
294
def psllwi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, int)" >;
@@ -581,8 +585,6 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
581
585
def phsubw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
582
586
def phsubd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
583
587
def phsubsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
584
- def pmaddubsw256 : X86Builtin<" _Vector<16, short>(_Vector<32, char>, _Vector<32, char>)" >;
585
- def pmaddwd256 : X86Builtin<" _Vector<8, int>(_Vector<16, short>, _Vector<16, short>)" >;
586
588
def pmovmskb256 : X86Builtin<" int(_Vector<32, char>)" >;
587
589
def pmulhrsw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
588
590
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
@@ -1378,10 +1383,6 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
1378
1383
def subps512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)" >;
1379
1384
}
1380
1385
1381
- let Features = " avx512bw" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
1382
- def pmaddubsw512 : X86Builtin<" _Vector<32, short>(_Vector<64, char>, _Vector<64, char>)" >;
1383
- def pmaddwd512 : X86Builtin<" _Vector<16, int>(_Vector<32, short>, _Vector<32, short>)" >;
1384
- }
1385
1386
1386
1387
let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
1387
1388
def addss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Vector<4, float>, unsigned char, _Constant int)" >;
@@ -1999,6 +2000,8 @@ let Features = "avx512bw", Attributes = [NoThrow, Const, RequiredVectorWidth<512
1999
2000
}
2000
2001
2001
2002
let Features = " avx512bw" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
2003
+ def pmaddubsw512 : X86Builtin<" _Vector<32, short>(_Vector<64, char>, _Vector<64, char>)" >;
2004
+ def pmaddwd512 : X86Builtin<" _Vector<16, int>(_Vector<32, short>, _Vector<32, short>)" >;
2002
2005
def psllv32hi : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
2003
2006
def pshufhw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)" >;
2004
2007
def pshuflw512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Constant int)" >;
0 commit comments