From ad5e1f815335f65c20b07ed10cdac2885202a47c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 29 Jul 2003 05:13:09 +0000 Subject: [PATCH] Define target value types in a form usable by target-independent code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7375 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/CodeGen/ValueTypes.h | 33 +++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 include/llvm/CodeGen/ValueTypes.h diff --git a/include/llvm/CodeGen/ValueTypes.h b/include/llvm/CodeGen/ValueTypes.h new file mode 100644 index 00000000000..bb4b97fae67 --- /dev/null +++ b/include/llvm/CodeGen/ValueTypes.h @@ -0,0 +1,33 @@ +//===- CodeGen/ValueTypes.h - Low-Level Target independ. types --*- C++ -*-===// +// +// This file defines the set of low-level target independent types which various +// values in the code generator are. This allows the target specific behavior +// of instructions to be described to target independent passes. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CODEGEN_VALUETYPES_H +#define LLVM_CODEGEN_VALUETYPES_H + +/// MVT namespace - This namespace defines the ValueType enum, which contains +/// the various low-level value types. +/// +namespace MVT { // MRF = Machine Register Flags + enum ValueType { + Other = 0 << 0, // This is a non-standard value + i1 = 1 << 0, // This is a 1 bit integer value + i8 = 1 << 1, // This is an 8 bit integer value + i16 = 1 << 2, // This is a 16 bit integer value + i32 = 1 << 3, // This is a 32 bit integer value + i64 = 1 << 4, // This is a 64 bit integer value + i128 = 1 << 5, // This is a 128 bit integer value + + f32 = 1 << 6, // This is a 32 bit floating point value + f64 = 1 << 7, // This is a 64 bit floating point value + f80 = 1 << 8, // This is a 80 bit floating point value + f128 = 1 << 9, // This is a 128 bit floating point value + }; +}; + +#endif + -- 2.34.1