@@ -198,14 +198,17 @@ let Features = "sse", Header = "xmmintrin.h", Attributes = [NoThrow, RequireDecl
198198 def _mm_sfence : X86LibBuiltin<" void()" >;
199199}
200200
201+ let Features = " sse" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
202+ def shufps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)" >;
203+ }
204+
201205let Features = " sse" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
202206 def rcpps : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
203207 def rcpss : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
204208 def rsqrtps : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
205209 def rsqrtss : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
206210 def sqrtps : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
207211 def sqrtss : X86Builtin<" _Vector<4, float>(_Vector<4, float>)" >;
208- def shufps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, float>, _Constant int)" >;
209212}
210213
211214let Features = " sse2" , Attributes = [NoThrow, RequiredVectorWidth<128 >] in {
@@ -222,13 +225,13 @@ let Features = "sse2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
222225 def pshufhw : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Constant int)" >;
223226 def movmskpd : X86Builtin<" int(_Vector<2, double>)" >;
224227 def pmovmskb128 : X86Builtin<" int(_Vector<16, char>)" >;
228+ def shufpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)" >;
225229}
226230
227231let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
228232 def psadbw128 : X86Builtin<" _Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)" >;
229233 def sqrtpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
230234 def sqrtsd : X86Builtin<" _Vector<2, double>(_Vector<2, double>)" >;
231- def shufpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, double>, _Constant int)" >;
232235 def cvtpd2dq : X86Builtin<" _Vector<2, long long int>(_Vector<2, double>)" >;
233236 def cvtpd2ps : X86Builtin<" _Vector<4, float>(_Vector<2, double>)" >;
234237 def cvttpd2dq : X86Builtin<" _Vector<4, int>(_Vector<2, double>)" >;
@@ -487,13 +490,16 @@ let Features = "avx512f,vpclmulqdq", Attributes = [NoThrow, Const, RequiredVecto
487490 def pclmulqdq512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant char)" >;
488491}
489492
493+ let Features = " avx" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
494+ def shufpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)" >;
495+ def shufps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)" >;
496+ }
497+
490498let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
491499 def vpermilvarpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, long long int>)" >;
492500 def vpermilvarps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, int>)" >;
493501 def vpermilvarpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)" >;
494502 def vpermilvarps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
495- def shufpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)" >;
496- def shufps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)" >;
497503 def dpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
498504 def cmppd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant char)" >;
499505 def cmpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
@@ -2463,6 +2469,9 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
24632469 def shuf_f64x2 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)" >;
24642470 def shuf_i32x4 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Constant int)" >;
24652471 def shuf_i64x2 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant int)" >;
2472+ }
2473+
2474+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
24662475 def shufpd512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)" >;
24672476 def shufps512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)" >;
24682477}
0 commit comments