@@ -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>)" >;
@@ -488,13 +491,16 @@ let Features = "avx512f,vpclmulqdq", Attributes = [NoThrow, Const, RequiredVecto
488491 def pclmulqdq512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant char)" >;
489492}
490493
494+ let Features = " avx" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
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)" >;
497+ }
498+
491499let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
492500 def vpermilvarpd : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<2, long long int>)" >;
493501 def vpermilvarps : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<4, int>)" >;
494502 def vpermilvarpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)" >;
495503 def vpermilvarps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
496- def shufpd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)" >;
497- def shufps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)" >;
498504 def dpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
499505 def cmppd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant char)" >;
500506 def cmpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
@@ -2474,6 +2480,9 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
24742480 def shuf_f64x2 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)" >;
24752481 def shuf_i32x4 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<16, int>, _Constant int)" >;
24762482 def shuf_i64x2 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>, _Constant int)" >;
2483+ }
2484+
2485+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
24772486 def shufpd512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)" >;
24782487 def shufps512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, float>, _Constant int)" >;
24792488}
0 commit comments