150
|
1 // RUN: llvm-tblgen -gen-intrinsic-enums %s | FileCheck %s
|
|
2 // XFAIL: vg_leak
|
|
3
|
|
4 class IntrinsicProperty;
|
|
5 class SDNodeProperty;
|
|
6
|
|
7 class ValueType<int size, int value> {
|
|
8 string Namespace = "MVT";
|
|
9 int Size = size;
|
|
10 int Value = value;
|
|
11 }
|
|
12
|
|
13 class LLVMType<ValueType vt> {
|
|
14 ValueType VT = vt;
|
|
15 }
|
|
16
|
|
17 class Intrinsic<string name, list<LLVMType> ret_types = []> {
|
|
18 string LLVMName = name;
|
|
19 bit isTarget = 0;
|
|
20 string TargetPrefix = "";
|
|
21 list<LLVMType> RetTypes = ret_types;
|
|
22 list<LLVMType> ParamTypes = [];
|
|
23 list<IntrinsicProperty> IntrProperties = [];
|
|
24 list<SDNodeProperty> Properties = [];
|
|
25 }
|
|
26
|
|
27 def iAny : ValueType<0, 253>;
|
|
28 def llvm_anyint_ty : LLVMType<iAny>;
|
|
29
|
|
30 // Make sure we can return up to 8 values
|
|
31 // CHECK: returns_8_results = {{[0-9]+}}, // llvm.returns.8.results
|
|
32 def int_returns_8_results : Intrinsic<"llvm.returns.8.results",
|
|
33 [llvm_anyint_ty, llvm_anyint_ty, llvm_anyint_ty, llvm_anyint_ty,
|
|
34 llvm_anyint_ty, llvm_anyint_ty, llvm_anyint_ty, llvm_anyint_ty]>;
|