Add <128 x i1> as an intrinsic type

This commit is contained in:
Krzysztof Parzyszek 2020-02-07 09:30:31 -06:00
parent a6a585b803
commit bc23e83e45
3 changed files with 10 additions and 2 deletions

View File

@ -232,6 +232,7 @@ def llvm_v8i1_ty : LLVMType<v8i1>; // 8 x i1
def llvm_v16i1_ty : LLVMType<v16i1>; // 16 x i1
def llvm_v32i1_ty : LLVMType<v32i1>; // 32 x i1
def llvm_v64i1_ty : LLVMType<v64i1>; // 64 x i1
def llvm_v128i1_ty : LLVMType<v128i1>; // 128 x i1
def llvm_v512i1_ty : LLVMType<v512i1>; // 512 x i1
def llvm_v1024i1_ty : LLVMType<v1024i1>; //1024 x i1

View File

@ -726,7 +726,8 @@ enum IIT_Info {
IIT_SCALABLE_VEC = 43,
IIT_SUBDIVIDE2_ARG = 44,
IIT_SUBDIVIDE4_ARG = 45,
IIT_VEC_OF_BITCASTS_TO_INT = 46
IIT_VEC_OF_BITCASTS_TO_INT = 46,
IIT_V128 = 47
};
static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos,
@ -810,6 +811,10 @@ static void DecodeIITType(unsigned &NextElt, ArrayRef<unsigned char> Infos,
OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 64));
DecodeIITType(NextElt, Infos, OutputTable);
return;
case IIT_V128:
OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 128));
DecodeIITType(NextElt, Infos, OutputTable);
return;
case IIT_V512:
OutputTable.push_back(IITDescriptor::get(IITDescriptor::Vector, 512));
DecodeIITType(NextElt, Infos, OutputTable);

View File

@ -244,7 +244,8 @@ enum IIT_Info {
IIT_SCALABLE_VEC = 43,
IIT_SUBDIVIDE2_ARG = 44,
IIT_SUBDIVIDE4_ARG = 45,
IIT_VEC_OF_BITCASTS_TO_INT = 46
IIT_VEC_OF_BITCASTS_TO_INT = 46,
IIT_V128 = 47
};
static void EncodeFixedValueType(MVT::SimpleValueType VT,
@ -380,6 +381,7 @@ static void EncodeFixedType(Record *R, std::vector<unsigned char> &ArgCodes,
case 16: Sig.push_back(IIT_V16); break;
case 32: Sig.push_back(IIT_V32); break;
case 64: Sig.push_back(IIT_V64); break;
case 128: Sig.push_back(IIT_V128); break;
case 512: Sig.push_back(IIT_V512); break;
case 1024: Sig.push_back(IIT_V1024); break;
}