1
// RUN: llvm-tblgen -gen-intrinsic %s | FileCheck %s
4
class IntrinsicProperty;
6
class ValueType<int size, int value> {
7
string Namespace = "MVT";
12
class LLVMType<ValueType vt> {
16
class Intrinsic<string name, list<LLVMType> param_types = []> {
17
string LLVMName = name;
19
string TargetPrefix = "";
20
list<LLVMType> RetTypes = [];
21
list<LLVMType> ParamTypes = param_types;
22
list<IntrinsicProperty> Properties = [];
25
def iAny : ValueType<0, 254>;
26
def llvm_anyint_ty : LLVMType<iAny>;
29
// Make sure an intrinsic name that is a prefix of another is checked after the
32
// CHECK: if (NameR.startswith("oo.bar.")) return Intrinsic::foo_bar;
33
// CHECK: if (NameR.startswith("oo.")) return Intrinsic::foo;
35
def int_foo : Intrinsic<"llvm.foo", [llvm_anyint_ty]>;
36
def int_foo_bar : Intrinsic<"llvm.foo.bar", [llvm_anyint_ty]>;