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 22namespace 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