R600Defines.h revision 90bd1d52bbf95947955a66ec67f5f6c7dc87119a
16f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//===-- R600Defines.h - R600 Helper Macros ----------------------*- C++ -*-===//
26f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//
36f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//                     The LLVM Compiler Infrastructure
46f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//
56f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// This file is distributed under the University of Illinois Open Source
66f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// License. See LICENSE.TXT for details.
76f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//
86f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org//===----------------------------------------------------------------------===//
96f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
106f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
116f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// Operand Flags
126f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_CLAMP (1 << 0)
136f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_NEG   (1 << 1)
146f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_ABS   (1 << 2)
156f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_MASK  (1 << 3)
166f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_PUSH  (1 << 4)
176f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define MO_FLAG_NOT_LAST  (1 << 5)
186f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define NUM_MO_FLAGS 6
196f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
206f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// Helper for finding getting the operand index for the instruction flags
216f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org// operand.
226f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org#define GET_FLAG_OPERAND_IDX(Flags) (((Flags) >> 7) & 0x3)
236f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org
246f31ac30b9092fd02a8c97e5216cf53f3e4fae4jshin@chromium.org