R600: Add support for vector local memory loads
[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   SMRD = 1 << 4
18 };
19 }
20
21 #define R_00B028_SPI_SHADER_PGM_RSRC1_PS                                0x00B028
22 #define R_00B02C_SPI_SHADER_PGM_RSRC2_PS                                0x00B02C
23 #define   S_00B02C_EXTRA_LDS_SIZE(x)                                  (((x) & 0xFF) << 8)
24 #define R_00B128_SPI_SHADER_PGM_RSRC1_VS                                0x00B128
25 #define R_00B228_SPI_SHADER_PGM_RSRC1_GS                                0x00B228
26 #define R_00B848_COMPUTE_PGM_RSRC1                                      0x00B848
27 #define   S_00B028_VGPRS(x)                                           (((x) & 0x3F) << 0)
28 #define   S_00B028_SGPRS(x)                                           (((x) & 0x0F) << 6)
29 #define R_00B84C_COMPUTE_PGM_RSRC2                                      0x00B84C
30 #define   S_00B84C_LDS_SIZE(x)                                        (((x) & 0x1FF) << 15)
31 #define R_0286CC_SPI_PS_INPUT_ENA                                       0x0286CC
32
33 #endif // SIDEFINES_H_