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