source: parabix-LLVM/scripts/ValueTypes.td.pytemplate @ 5435

Last change on this file since 5435 was 4077, checked in by linmengl, 5 years ago

move templates and gen.py into folder scripts

File size: 2.0 KB
Line 
1//===- ValueTypes.td - ValueType definitions ---------------*- tablegen -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// Value types - These values correspond to the register types defined in the
11// ValueTypes.h file.  If you update anything here, you must update it there as
12// well!
13//
14//===----------------------------------------------------------------------===//
15
16class ValueType<int size, int value> {
17  string Namespace = "MVT";
18  int Size = size;
19  int Value = value;
20}
21
22def OtherVT: ValueType<0  ,  0>;   // "Other" value
23${int_value_type_defs}
24def f16    : ValueType<16 , $f16>;   // 16-bit floating point value
25def f32    : ValueType<32 , $f32>;   // 32-bit floating point value
26def f64    : ValueType<64 , $f64>;   // 64-bit floating point value
27def f80    : ValueType<80 , $f80>;   // 80-bit floating point value
28def f128   : ValueType<128, $f128>;   // 128-bit floating point value
29def ppcf128: ValueType<128, $ppcf128>;   // PPC 128-bit floating point value
30
31${int_vector_value_type_defs}
32
33${float_vector_value_type_defs}
34
35def x86mmx : ValueType<64 , $x86mmx>;   // X86 MMX value
36def FlagVT : ValueType<0  , $Glue>;   // Pre-RA sched glue
37def isVoid : ValueType<0  , $isVoid>;   // Produces no value
38def untyped: ValueType<8  , $Untyped>;   // Produces an untyped value
39
40def MetadataVT: ValueType<0, 250>; // Metadata
41
42// Pseudo valuetype mapped to the current pointer size to any address space.
43// Should only be used in TableGen.
44def iPTRAny   : ValueType<0, 251>;
45
46// Pseudo valuetype to represent "vector of any size"
47def vAny   : ValueType<0  , 252>;
48
49// Pseudo valuetype to represent "float of any format"
50def fAny   : ValueType<0  , 253>;
51
52// Pseudo valuetype to represent "integer of any bit width"
53def iAny   : ValueType<0  , 254>;
54
55// Pseudo valuetype mapped to the current pointer size.
56def iPTR   : ValueType<0  , 255>;
Note: See TracBrowser for help on using the repository browser.