| //===-- 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 |
| |