| //===-- PTXBaseInfo.h - Top level definitions for PTX -------- --*- C++ -*-===// | |
| // | |
| // The LLVM Compiler Infrastructure | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file contains small standalone helper functions and enum definitions for | |
| // the PTX target useful for the compiler back-end and the MC libraries. | |
| // As such, it deliberately does not include references to LLVM core | |
| // code gen types, passes, etc.. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef PTXBASEINFO_H | |
| #define PTXBASEINFO_H | |
| #include "PTXMCTargetDesc.h" | |
| namespace llvm { | |
| namespace PTXStateSpace { | |
| enum { | |
| Global = 0, // default to global state space | |
| Constant = 1, | |
| Local = 2, | |
| Parameter = 3, | |
| Shared = 4 | |
| }; | |
| } // namespace PTXStateSpace | |
| namespace PTXPredicate { | |
| enum { | |
| Normal = 0, | |
| Negate = 1, | |
| None = 2 | |
| }; | |
| } // namespace PTXPredicate | |
| /// Namespace to hold all target-specific flags. | |
| namespace PTXRoundingMode { | |
| // Instruction Flags | |
| enum { | |
| // Rounding Mode Flags | |
| RndMask = 15, | |
| RndDefault = 0, // --- | |
| RndNone = 1, // <NONE> | |
| RndNearestEven = 2, // .rn | |
| RndTowardsZero = 3, // .rz | |
| RndNegInf = 4, // .rm | |
| RndPosInf = 5, // .rp | |
| RndApprox = 6, // .approx | |
| RndNearestEvenInt = 7, // .rni | |
| RndTowardsZeroInt = 8, // .rzi | |
| RndNegInfInt = 9, // .rmi | |
| RndPosInfInt = 10 // .rpi | |
| }; | |
| } // namespace PTXII | |
| } // namespace llvm | |
| #endif | |