190bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard//===-- R600Defines.h - R600 Helper Macros ----------------------*- C++ -*-===// 290bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// 390bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// The LLVM Compiler Infrastructure 490bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// 590bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// This file is distributed under the University of Illinois Open Source 690bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// License. See LICENSE.TXT for details. 790bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// 890bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard//===----------------------------------------------------------------------===// 990bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard 1090bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard 1190bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// Operand Flags 1290bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_CLAMP (1 << 0) 1390bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_NEG (1 << 1) 1490bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_ABS (1 << 2) 1590bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_MASK (1 << 3) 1690bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_PUSH (1 << 4) 1790bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define MO_FLAG_NOT_LAST (1 << 5) 1890bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define NUM_MO_FLAGS 6 1990bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard 2090bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// Helper for finding getting the operand index for the instruction flags 2190bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard// operand. 2290bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard#define GET_FLAG_OPERAND_IDX(Flags) (((Flags) >> 7) & 0x3) 2390bd1d52bbf95947955a66ec67f5f6c7dc87119aTom Stellard 24