@@ -166,14 +166,20 @@ let Features = "sse2", Attributes = [NoThrow] in {
166166 def movnti : X86Builtin<" void(int *, int)" >;
167167}
168168
169+ let Features = " sse2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
170+ def cvtpd2ps : X86Builtin<" _Vector<4, float>(_Vector<2, double>)" >;
171+ def cvtsd2ss : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<2, double>)" >;
172+ }
173+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
174+ def cvtsd2ss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<2, double>, _Vector<4, float>, unsigned char, _Constant int)" >;
175+ }
176+
169177let Features = " sse2" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
170178 def psadbw128 : X86Builtin<" _Vector<2, long long int>(_Vector<16, char>, _Vector<16, char>)" >;
171179 def cvtpd2dq : X86Builtin<" _Vector<2, long long int>(_Vector<2, double>)" >;
172- def cvtpd2ps : X86Builtin<" _Vector<4, float>(_Vector<2, double>)" >;
173180 def cvttpd2dq : X86Builtin<" _Vector<4, int>(_Vector<2, double>)" >;
174181 def cvtsd2si : X86Builtin<" int(_Vector<2, double>)" >;
175182 def cvttsd2si : X86Builtin<" int(_Vector<2, double>)" >;
176- def cvtsd2ss : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<2, double>)" >;
177183 def cvtps2dq : X86Builtin<" _Vector<4, int>(_Vector<4, float>)" >;
178184 def cvttps2dq : X86Builtin<" _Vector<4, int>(_Vector<4, float>)" >;
179185}
@@ -462,19 +468,21 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
462468 def vpermilvarps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
463469}
464470
471+ let Features = " avx" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
472+ def cvtpd2ps256 : X86Builtin<" _Vector<4, float>(_Vector<4, double>)" >;
473+ }
474+
465475let Features = " avx" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
466476 def dpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
467477 def cmppd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant char)" >;
468478 def cmpps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant char)" >;
469- def cvtpd2ps256 : X86Builtin<" _Vector<4, float>(_Vector<4, double>)" >;
470479 def cvtps2dq256 : X86Builtin<" _Vector<8, int>(_Vector<8, float>)" >;
471480 def cvttpd2dq256 : X86Builtin<" _Vector<4, int>(_Vector<4, double>)" >;
472481 def cvtpd2dq256 : X86Builtin<" _Vector<4, int>(_Vector<4, double>)" >;
473482 def cvttps2dq256 : X86Builtin<" _Vector<8, int>(_Vector<8, float>)" >;
474483 def vperm2f128_pd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>, _Constant int)" >;
475484 def vperm2f128_ps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>, _Constant int)" >;
476485 def vperm2f128_si256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>, _Constant int)" >;
477-
478486 foreach Op = [" max" , " min" ] in {
479487 def Op#pd256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, double>)" >;
480488 def Op#ps256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, float>)" >;
@@ -1004,6 +1012,10 @@ let Features = "avx512vl", Attributes = [NoThrow, Const, RequiredVectorWidth<128
10041012 def cmppd128_mask : X86Builtin<" unsigned char(_Vector<2, double>, _Vector<2, double>, _Constant int, unsigned char)" >;
10051013}
10061014
1015+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
1016+ def cvtpd2ps512_mask : X86Builtin<" _Vector<8, float>(_Vector<8, double>, _Vector<8, float>, unsigned char, _Constant int)" >;
1017+ }
1018+
10071019let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
10081020 def rndscaleps_mask : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Constant int, _Vector<16, float>, unsigned short, _Constant int)" >;
10091021 def rndscalepd_mask : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Constant int, _Vector<8, double>, unsigned char, _Constant int)" >;
@@ -1017,7 +1029,6 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
10171029 def maxpd512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, double>, _Constant int)" >;
10181030 def cvtdq2ps512_mask : X86Builtin<" _Vector<16, float>(_Vector<16, int>, _Vector<16, float>, unsigned short, _Constant int)" >;
10191031 def cvtudq2ps512_mask : X86Builtin<" _Vector<16, float>(_Vector<16, int>, _Vector<16, float>, unsigned short, _Constant int)" >;
1020- def cvtpd2ps512_mask : X86Builtin<" _Vector<8, float>(_Vector<8, double>, _Vector<8, float>, unsigned char, _Constant int)" >;
10211032 def vcvtps2ph512_mask : X86Builtin<" _Vector<16, short>(_Vector<16, float>, _Constant int, _Vector<16, short>, unsigned short)" >;
10221033 def vcvtph2ps512_mask : X86Builtin<" _Vector<16, float>(_Vector<16, short>, _Vector<16, float>, unsigned short, _Constant int)" >;
10231034}
@@ -1452,9 +1463,12 @@ let Features = "avx512vl", Attributes = [NoThrow, RequiredVectorWidth<256>] in {
14521463 def compressstoresi256_mask : X86Builtin<" void(_Vector<8, int *>, _Vector<8, int>, unsigned char)" >;
14531464}
14541465
1466+ let Features = " avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
1467+ def cvtpd2ps_mask : X86Builtin<" _Vector<4, float>(_Vector<2, double>, _Vector<4, float>, unsigned char)" >;
1468+ }
1469+
14551470let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
14561471 def cvtpd2dq128_mask : X86Builtin<" _Vector<4, int>(_Vector<2, double>, _Vector<4, int>, unsigned char)" >;
1457- def cvtpd2ps_mask : X86Builtin<" _Vector<4, float>(_Vector<2, double>, _Vector<4, float>, unsigned char)" >;
14581472 def cvtpd2udq128_mask : X86Builtin<" _Vector<4, int>(_Vector<2, double>, _Vector<4, int>, unsigned char)" >;
14591473}
14601474
@@ -3288,7 +3302,6 @@ let Features = "avx512bw,avx512vl",
32883302}
32893303
32903304let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
3291- def cvtsd2ss_round_mask : X86Builtin<" _Vector<4, float>(_Vector<4, float>, _Vector<2, double>, _Vector<4, float>, unsigned char, _Constant int)" >;
32923305 def cvtsi2ss32 : X86Builtin<" _Vector<4, float>(_Vector<4, float>, int, _Constant int)" >;
32933306 def cvtss2sd_round_mask : X86Builtin<" _Vector<2, double>(_Vector<2, double>, _Vector<4, float>, _Vector<2, double>, unsigned char, _Constant int)" >;
32943307 def cvtusi2ss32 : X86Builtin<" _Vector<4, float>(_Vector<4, float>, unsigned int, _Constant int)" >;
0 commit comments