Home | History | Annotate | Download | only in MCTargetDesc
      1 //===-- PTXBaseInfo.h - Top level definitions for PTX -------- --*- C++ -*-===//
      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 // This file contains small standalone helper functions and enum definitions for
     11 // the PTX target useful for the compiler back-end and the MC libraries.
     12 // As such, it deliberately does not include references to LLVM core
     13 // code gen types, passes, etc..
     14 //
     15 //===----------------------------------------------------------------------===//
     16 
     17 #ifndef PTXBASEINFO_H
     18 #define PTXBASEINFO_H
     19 
     20 #include "PTXMCTargetDesc.h"
     21 
     22 namespace llvm {
     23   namespace PTXStateSpace {
     24     enum {
     25       Global    = 0, // default to global state space
     26       Constant  = 1,
     27       Local     = 2,
     28       Parameter = 3,
     29       Shared    = 4
     30     };
     31   } // namespace PTXStateSpace
     32 
     33   namespace PTXPredicate {
     34     enum {
     35       Normal = 0,
     36       Negate = 1,
     37       None   = 2
     38     };
     39   } // namespace PTXPredicate
     40 
     41   /// Namespace to hold all target-specific flags.
     42   namespace PTXRoundingMode {
     43     // Instruction Flags
     44     enum {
     45       // Rounding Mode Flags
     46       RndMask             = 15,
     47       RndDefault          =  0, // ---
     48       RndNone             =  1, // <NONE>
     49       RndNearestEven      =  2, // .rn
     50       RndTowardsZero      =  3, // .rz
     51       RndNegInf           =  4, // .rm
     52       RndPosInf           =  5, // .rp
     53       RndApprox           =  6, // .approx
     54       RndNearestEvenInt   =  7, // .rni
     55       RndTowardsZeroInt   =  8, // .rzi
     56       RndNegInfInt        =  9, // .rmi
     57       RndPosInfInt        = 10  // .rpi
     58     };
     59   } // namespace PTXII
     60 } // namespace llvm
     61 
     62 #endif
     63 
     64