@@ -617,9 +617,7 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
617617 def psrlw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<8, short>)" >;
618618 def psrld256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>)" >;
619619 def psrlq256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<2, long long int>)" >;
620- def permvarsi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
621620 def permdf256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Constant int)" >;
622- def permvarsf256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
623621 def permti256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>, _Constant int)" >;
624622 def permdi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
625623}
@@ -692,6 +690,9 @@ let Features = "avx2", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWi
692690 def pshuflw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)" >;
693691 def pshufhw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Constant int)" >;
694692 def pshufd256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Constant int)" >;
693+
694+ def permvarsi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
695+ def permvarsf256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
695696}
696697
697698let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
@@ -3042,38 +3043,38 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
30423043 def permdi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
30433044}
30443045
3045- let Features = " avx512bw" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3046+ let Features = " avx512bw" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30463047 def permvarhi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
30473048}
30483049
3049- let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3050+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30503051 def permvardf512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, long long int>)" >;
30513052 def permvardi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>)" >;
30523053 def permvarsf512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, int>)" >;
30533054 def permvarsi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<16, int>)" >;
30543055}
30553056
3056- let Features = " avx512vbmi" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3057+ let Features = " avx512vbmi" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30573058 def permvarqi512 : X86Builtin<" _Vector<64, char>(_Vector<64, char>, _Vector<64, char>)" >;
30583059}
30593060
3060- let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
3061+ let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
30613062 def permvarqi128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
30623063}
30633064
3064- let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3065+ let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30653066 def permvarqi256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)" >;
30663067}
30673068
3068- let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
3069+ let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
30693070 def permvarhi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
30703071}
30713072
3072- let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3073+ let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30733074 def permvarhi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
30743075}
30753076
3076- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3077+ let Features = " avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30773078 def permvardf256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)" >;
30783079 def permvardi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>)" >;
30793080}
0 commit comments