[llvm] bc23e83 - Add <128 x i1> as an intrinsic type
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 19 07:44:58 PST 2020
Author: Krzysztof Parzyszek
Date: 2020-02-19T09:38:13-06:00
New Revision: bc23e83e45ebefa523c660aa500c6161d9be57ee
URL: https://github.com/llvm/llvm-project/commit/bc23e83e45ebefa523c660aa500c6161d9be57ee
DIFF: https://github.com/llvm/llvm-project/commit/bc23e83e45ebefa523c660aa500c6161d9be57ee.diff
LOG: Add <128 x i1> as an intrinsic type
Added:
Modified:
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/IR/Function.cpp
llvm/utils/TableGen/IntrinsicEmitter.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/IR/Intrinsics.td b/llvm/include/llvm/IR/Intrinsics.td
index 307fb3e5bf46..563f8b0e4e7a 100644
--- a/llvm/include/llvm/IR/Intrinsics.td
+++ b/llvm/include/llvm/IR/Intrinsics.td
@@ -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
diff --git a/llvm/lib/IR/Function.cpp b/llvm/lib/IR/Function.cpp
index 54612250b0d6..5212a6eab780 100644
--- a/llvm/lib/IR/Function.cpp
+++ b/llvm/lib/IR/Function.cpp
@@ -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);
diff --git a/llvm/utils/TableGen/IntrinsicEmitter.cpp b/llvm/utils/TableGen/IntrinsicEmitter.cpp
index 9a12571ac6bc..3ac9cc857f02 100644
--- a/llvm/utils/TableGen/IntrinsicEmitter.cpp
+++ b/llvm/utils/TableGen/IntrinsicEmitter.cpp
@@ -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;
}
More information about the llvm-commits
mailing list