@@ -603,6 +603,11 @@ let Features = "avx", Attributes = [NoThrow, Const, Constexpr, RequiredVectorWid
603603 def vec_set_v8si : X86Builtin<" _Vector<8, int>(_Vector<8, int>, int, _Constant int)" >;
604604}
605605
606+ let Features = " avx2" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
607+ def permvarsi256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<8, int>)" >;
608+ def permvarsf256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
609+ }
610+
606611let Features = " avx2" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
607612 def mpsadbw256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>, _Constant char)" >;
608613
@@ -617,9 +622,7 @@ let Features = "avx2", Attributes = [NoThrow, Const, RequiredVectorWidth<256>] i
617622 def psrlw256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<8, short>)" >;
618623 def psrld256 : X86Builtin<" _Vector<8, int>(_Vector<8, int>, _Vector<4, int>)" >;
619624 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>)" >;
621625 def permdf256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Constant int)" >;
622- def permvarsf256 : X86Builtin<" _Vector<8, float>(_Vector<8, float>, _Vector<8, int>)" >;
623626 def permti256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>, _Constant int)" >;
624627 def permdi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Constant int)" >;
625628}
@@ -3042,38 +3045,38 @@ let Features = "avx512f", Attributes = [NoThrow, Const, RequiredVectorWidth<512>
30423045 def permdi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Constant int)" >;
30433046}
30443047
3045- let Features = " avx512bw" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3048+ let Features = " avx512bw" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30463049 def permvarhi512 : X86Builtin<" _Vector<32, short>(_Vector<32, short>, _Vector<32, short>)" >;
30473050}
30483051
3049- let Features = " avx512f" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3052+ let Features = " avx512f" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30503053 def permvardf512 : X86Builtin<" _Vector<8, double>(_Vector<8, double>, _Vector<8, long long int>)" >;
30513054 def permvardi512 : X86Builtin<" _Vector<8, long long int>(_Vector<8, long long int>, _Vector<8, long long int>)" >;
30523055 def permvarsf512 : X86Builtin<" _Vector<16, float>(_Vector<16, float>, _Vector<16, int>)" >;
30533056 def permvarsi512 : X86Builtin<" _Vector<16, int>(_Vector<16, int>, _Vector<16, int>)" >;
30543057}
30553058
3056- let Features = " avx512vbmi" , Attributes = [NoThrow, Const, RequiredVectorWidth<512 >] in {
3059+ let Features = " avx512vbmi" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<512 >] in {
30573060 def permvarqi512 : X86Builtin<" _Vector<64, char>(_Vector<64, char>, _Vector<64, char>)" >;
30583061}
30593062
3060- let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
3063+ let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
30613064 def permvarqi128 : X86Builtin<" _Vector<16, char>(_Vector<16, char>, _Vector<16, char>)" >;
30623065}
30633066
3064- let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3067+ let Features = " avx512vbmi,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30653068 def permvarqi256 : X86Builtin<" _Vector<32, char>(_Vector<32, char>, _Vector<32, char>)" >;
30663069}
30673070
3068- let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<128 >] in {
3071+ let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<128 >] in {
30693072 def permvarhi128 : X86Builtin<" _Vector<8, short>(_Vector<8, short>, _Vector<8, short>)" >;
30703073}
30713074
3072- let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3075+ let Features = " avx512bw,avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30733076 def permvarhi256 : X86Builtin<" _Vector<16, short>(_Vector<16, short>, _Vector<16, short>)" >;
30743077}
30753078
3076- let Features = " avx512vl" , Attributes = [NoThrow, Const, RequiredVectorWidth<256 >] in {
3079+ let Features = " avx512vl" , Attributes = [NoThrow, Const, Constexpr, RequiredVectorWidth<256 >] in {
30773080 def permvardf256 : X86Builtin<" _Vector<4, double>(_Vector<4, double>, _Vector<4, long long int>)" >;
30783081 def permvardi256 : X86Builtin<" _Vector<4, long long int>(_Vector<4, long long int>, _Vector<4, long long int>)" >;
30793082}
0 commit comments