R600/SI: Assign a register class to the $vaddr operand for MIMG instructions
[oota-llvm.git] / lib / Target / R600 / SIDefines.h
1 //===-- SIDefines.h - SI Helper Macros ----------------------*- 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 /// \file
9 //===----------------------------------------------------------------------===//
10
11 #ifndef SIDEFINES_H_
12 #define SIDEFINES_H_
13
14 namespace SIInstrFlags {
15 enum {
16   MIMG = 1 << 3
17 };
18 }
19
20 #define R_00B028_SPI_SHADER_PGM_RSRC1_PS                                0x00B028
21 #define R_00B02C_SPI_SHADER_PGM_RSRC2_PS                                0x00B02C
22 #define   S_00B02C_EXTRA_LDS_SIZE(x)                                  (((x) & 0xFF) << 8)
23 #define R_00B128_SPI_SHADER_PGM_RSRC1_VS                                0x00B128
24 #define R_00B228_SPI_SHADER_PGM_RSRC1_GS                                0x00B228
25 #define R_00B848_COMPUTE_PGM_RSRC1                                      0x00B848
26 #define   S_00B028_VGPRS(x)                                           (((x) & 0x3F) << 0)
27 #define   S_00B028_SGPRS(x)                                           (((x) & 0x0F) << 6)
28 #define R_00B84C_COMPUTE_PGM_RSRC2                                      0x00B84C
29 #define   S_00B84C_LDS_SIZE(x)                                        (((x) & 0x1FF) << 15)
30 #define R_0286CC_SPI_PS_INPUT_ENA                                       0x0286CC
31
32 #endif // SIDEFINES_H_