gem5  v21.1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
registers.hh
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2017 Advanced Micro Devices, Inc.
3  * All rights reserved.
4  *
5  * For use for simulation and test purposes only
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright notice,
11  * this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright notice,
14  * this list of conditions and the following disclaimer in the documentation
15  * and/or other materials provided with the distribution.
16  *
17  * 3. Neither the name of the copyright holder nor the names of its
18  * contributors may be used to endorse or promote products derived from this
19  * software without specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
25  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31  * POSSIBILITY OF SUCH DAMAGE.
32  */
33 
34 #ifndef __ARCH_GCN3_REGISTERS_HH__
35 #define __ARCH_GCN3_REGISTERS_HH__
36 
37 #include <array>
38 #include <cstdint>
39 #include <string>
40 
41 #include "arch/generic/vec_reg.hh"
42 #include "base/intmath.hh"
43 #include "base/logging.hh"
44 
45 namespace gem5
46 {
47 
48 namespace Gcn3ISA
49 {
50  enum OpSelector : int
51  {
52  REG_SGPR_MIN = 0,
53  REG_SGPR_MAX = 101,
54  REG_FLAT_SCRATCH_LO = 102,
55  REG_FLAT_SCRATCH_HI = 103,
56  REG_XNACK_MASK_LO = 104,
57  REG_XNACK_MASK_HI = 105,
58  REG_VCC_LO = 106,
59  REG_VCC_HI = 107,
60  REG_TBA_LO = 108,
61  REG_TBA_HI = 109,
62  REG_TMA_LO = 110,
63  REG_TMA_HI = 111,
64  REG_TTMP_0 = 112,
65  REG_TTMP_1 = 113,
66  REG_TTMP_2 = 114,
67  REG_TTMP_3 = 115,
68  REG_TTMP_4 = 116,
69  REG_TTMP_5 = 117,
70  REG_TTMP_6 = 118,
71  REG_TTMP_7 = 119,
72  REG_TTMP_8 = 120,
73  REG_TTMP_9 = 121,
74  REG_TTMP_10 = 122,
75  REG_TTMP_11 = 123,
76  REG_M0 = 124,
77  REG_RESERVED_1 = 125,
78  REG_EXEC_LO = 126,
79  REG_EXEC_HI = 127,
80  REG_ZERO = 128,
85  REG_RESERVED_2 = 209,
86  REG_RESERVED_3 = 210,
87  REG_RESERVED_4 = 211,
88  REG_RESERVED_5 = 212,
89  REG_RESERVED_6 = 213,
90  REG_RESERVED_7 = 214,
91  REG_RESERVED_8 = 215,
92  REG_RESERVED_9 = 216,
93  REG_RESERVED_10 = 217,
94  REG_RESERVED_11 = 218,
95  REG_RESERVED_12 = 219,
96  REG_RESERVED_13 = 220,
97  REG_RESERVED_14 = 221,
98  REG_RESERVED_15 = 222,
99  REG_RESERVED_16 = 223,
100  REG_RESERVED_17 = 224,
101  REG_RESERVED_18 = 225,
102  REG_RESERVED_19 = 226,
103  REG_RESERVED_20 = 227,
104  REG_RESERVED_21 = 228,
105  REG_RESERVED_22 = 229,
106  REG_RESERVED_23 = 230,
107  REG_RESERVED_24 = 231,
108  REG_RESERVED_25 = 232,
109  REG_RESERVED_26 = 233,
110  REG_RESERVED_27 = 234,
111  REG_RESERVED_28 = 235,
112  REG_RESERVED_29 = 236,
113  REG_RESERVED_30 = 237,
114  REG_RESERVED_31 = 238,
115  REG_RESERVED_32 = 239,
116  REG_POS_HALF = 240,
117  REG_NEG_HALF = 241,
118  REG_POS_ONE = 242,
119  REG_NEG_ONE = 243,
120  REG_POS_TWO = 244,
121  REG_NEG_TWO = 245,
122  REG_POS_FOUR = 246,
123  REG_NEG_FOUR = 247,
124  REG_PI = 248,
125  /* NOTE: SDWA and SWDA both refer to sub d-word addressing */
126  REG_SRC_SWDA = 249,
127  REG_SRC_DPP = 250,
128  REG_VCCZ = 251,
129  REG_EXECZ = 252,
130  REG_SCC = 253,
131  REG_LDS_DIRECT = 254,
132  REG_SRC_LITERAL = 255,
133  REG_VGPR_MIN = 256,
134  REG_VGPR_MAX = 511
135  };
136 
137  constexpr size_t MaxOperandDwords(16);
138  const int NumVecElemPerVecReg(64);
139  // op selector values 129 - 192 correspond to const values 1 - 64
141  - REG_INT_CONST_POS_MIN + 1;
142  // op selector values 193 - 208 correspond to const values -1 - 16
144  - REG_INT_CONST_NEG_MIN + 1;
145  const int BITS_PER_BYTE = 8;
146  const int BITS_PER_WORD = 16;
147  const int MSB_PER_BYTE = (BITS_PER_BYTE - 1);
148  const int MSB_PER_WORD = (BITS_PER_WORD - 1);
149 
150  // typedefs for the various sizes/types of scalar regs
151  typedef uint8_t ScalarRegU8;
152  typedef int8_t ScalarRegI8;
153  typedef uint16_t ScalarRegU16;
154  typedef int16_t ScalarRegI16;
155  typedef uint32_t ScalarRegU32;
156  typedef int32_t ScalarRegI32;
157  typedef float ScalarRegF32;
158  typedef uint64_t ScalarRegU64;
159  typedef int64_t ScalarRegI64;
160  typedef double ScalarRegF64;
161 
162  // typedefs for the various sizes/types of vector reg elements
163  typedef uint8_t VecElemU8;
164  typedef int8_t VecElemI8;
165  typedef uint16_t VecElemU16;
166  typedef int16_t VecElemI16;
167  typedef uint32_t VecElemU32;
168  typedef int32_t VecElemI32;
169  typedef float VecElemF32;
170  typedef uint64_t VecElemU64;
171  typedef int64_t VecElemI64;
172  typedef double VecElemF64;
173 
174  const int DWORDSize = sizeof(VecElemU32);
178  const int RegSizeDWORDs = sizeof(VecElemU32) / DWORDSize;
179 
180  using VecRegContainerU32 =
182 
183  struct StatusReg
184  {
185  StatusReg() : SCC(0), SPI_PRIO(0), USER_PRIO(0), PRIV(0), TRAP_EN(0),
186  TTRACE_EN(0), EXPORT_RDY(0), EXECZ(0), VCCZ(0), IN_TG(0),
187  IN_BARRIER(0), HALT(0), TRAP(0), TTRACE_CU_EN(0), VALID(0),
188  ECC_ERR(0), SKIP_EXPORT(0), PERF_EN(0), COND_DBG_USER(0),
190  MUST_EXPORT(0), RESERVED_1(0)
191  {
192  }
193 
194  uint32_t SCC : 1;
195  uint32_t SPI_PRIO : 2;
196  uint32_t USER_PRIO : 2;
197  uint32_t PRIV : 1;
198  uint32_t TRAP_EN : 1;
199  uint32_t TTRACE_EN : 1;
200  uint32_t EXPORT_RDY : 1;
201  uint32_t EXECZ : 1;
202  uint32_t VCCZ : 1;
203  uint32_t IN_TG : 1;
204  uint32_t IN_BARRIER : 1;
205  uint32_t HALT : 1;
206  uint32_t TRAP : 1;
207  uint32_t TTRACE_CU_EN : 1;
208  uint32_t VALID : 1;
209  uint32_t ECC_ERR : 1;
210  uint32_t SKIP_EXPORT : 1;
211  uint32_t PERF_EN : 1;
212  uint32_t COND_DBG_USER : 1;
213  uint32_t COND_DBG_SYS : 1;
214  uint32_t ALLOW_REPLAY : 1;
215  uint32_t INSTRUCTION_ATC : 1;
216  uint32_t RESERVED : 3;
217  uint32_t MUST_EXPORT : 1;
218  uint32_t RESERVED_1 : 4;
219  };
220 
221  std::string opSelectorToRegSym(int opIdx, int numRegs=0);
222  int opSelectorToRegIdx(int opIdx, int numScalarRegs);
223  bool isPosConstVal(int opIdx);
224  bool isNegConstVal(int opIdx);
225  bool isConstVal(int opIdx);
226  bool isLiteral(int opIdx);
227  bool isScalarReg(int opIdx);
228  bool isVectorReg(int opIdx);
229  bool isFlatScratchReg(int opIdx);
230  bool isExecMask(int opIdx);
231  bool isVccReg(int opIdx);
232 } // namespace Gcn3ISA
233 } // namespace gem5
234 
235 #endif // __ARCH_GCN3_REGISTERS_HH__
gem5::Gcn3ISA::REG_SRC_SWDA
@ REG_SRC_SWDA
Definition: gpu_registers.hh:126
gem5::Gcn3ISA::StatusReg::TRAP_EN
uint32_t TRAP_EN
Definition: gpu_registers.hh:198
gem5::Gcn3ISA::REG_TTMP_7
@ REG_TTMP_7
Definition: gpu_registers.hh:71
gem5::Gcn3ISA::StatusReg::EXECZ
uint32_t EXECZ
Definition: gpu_registers.hh:201
gem5::Gcn3ISA::VecElemI32
int32_t VecElemI32
Definition: gpu_registers.hh:168
gem5::Gcn3ISA::REG_RESERVED_16
@ REG_RESERVED_16
Definition: gpu_registers.hh:99
gem5::Gcn3ISA::isNegConstVal
bool isNegConstVal(int opIdx)
Definition: registers.cc:178
gem5::Gcn3ISA::REG_TTMP_5
@ REG_TTMP_5
Definition: gpu_registers.hh:69
gem5::Gcn3ISA::REG_RESERVED_14
@ REG_RESERVED_14
Definition: gpu_registers.hh:97
gem5::Gcn3ISA::isScalarReg
bool isScalarReg(int opIdx)
Definition: registers.cc:218
gem5::Gcn3ISA::StatusReg::RESERVED
uint32_t RESERVED
Definition: gpu_registers.hh:216
gem5::Gcn3ISA::ScalarRegF32
float ScalarRegF32
Definition: gpu_registers.hh:157
gem5::Gcn3ISA::REG_TTMP_6
@ REG_TTMP_6
Definition: gpu_registers.hh:70
gem5::Gcn3ISA::StatusReg::COND_DBG_USER
uint32_t COND_DBG_USER
Definition: gpu_registers.hh:212
gem5::Gcn3ISA::REG_EXEC_LO
@ REG_EXEC_LO
Definition: gpu_registers.hh:78
gem5::Gcn3ISA::isPosConstVal
bool isPosConstVal(int opIdx)
Definition: registers.cc:169
gem5::Gcn3ISA::StatusReg::IN_BARRIER
uint32_t IN_BARRIER
Definition: gpu_registers.hh:204
gem5::Gcn3ISA::opSelectorToRegSym
std::string opSelectorToRegSym(int opIdx, int numRegs=0)
Definition: registers.cc:42
gem5::Gcn3ISA::VecElemU32
uint32_t VecElemU32
Definition: gpu_registers.hh:167
gem5::Gcn3ISA::REG_VGPR_MIN
@ REG_VGPR_MIN
Definition: gpu_registers.hh:133
gem5::Gcn3ISA::REG_SCC
@ REG_SCC
Definition: gpu_registers.hh:130
gem5::Gcn3ISA::StatusReg::PRIV
uint32_t PRIV
Definition: gpu_registers.hh:197
gem5::Gcn3ISA::REG_NEG_FOUR
@ REG_NEG_FOUR
Definition: gpu_registers.hh:123
gem5::Gcn3ISA::REG_TMA_HI
@ REG_TMA_HI
Definition: gpu_registers.hh:63
gem5::Gcn3ISA::REG_RESERVED_26
@ REG_RESERVED_26
Definition: gpu_registers.hh:109
gem5::Gcn3ISA::MSB_PER_WORD
const int MSB_PER_WORD
Definition: gpu_registers.hh:148
gem5::Gcn3ISA::REG_EXEC_HI
@ REG_EXEC_HI
Definition: gpu_registers.hh:79
gem5::Gcn3ISA::REG_TTMP_2
@ REG_TTMP_2
Definition: gpu_registers.hh:66
gem5::Gcn3ISA::REG_TBA_HI
@ REG_TBA_HI
Definition: gpu_registers.hh:61
gem5::Gcn3ISA::REG_RESERVED_2
@ REG_RESERVED_2
Definition: gpu_registers.hh:85
gem5::Gcn3ISA::REG_RESERVED_28
@ REG_RESERVED_28
Definition: gpu_registers.hh:111
gem5::Gcn3ISA::ScalarRegI32
int32_t ScalarRegI32
Definition: gpu_registers.hh:156
gem5::Gcn3ISA::REG_TTMP_1
@ REG_TTMP_1
Definition: gpu_registers.hh:65
gem5::Gcn3ISA::ScalarRegU16
uint16_t ScalarRegU16
Definition: gpu_registers.hh:153
gem5::Gcn3ISA::StatusReg::USER_PRIO
uint32_t USER_PRIO
Definition: gpu_registers.hh:196
gem5::Gcn3ISA::REG_POS_ONE
@ REG_POS_ONE
Definition: gpu_registers.hh:118
gem5::Gcn3ISA::isVccReg
bool isVccReg(int opIdx)
Definition: registers.cc:206
gem5::Gcn3ISA::StatusReg::IN_TG
uint32_t IN_TG
Definition: gpu_registers.hh:203
gem5::Gcn3ISA::BITS_PER_WORD
const int BITS_PER_WORD
Definition: gpu_registers.hh:146
gem5::Gcn3ISA::REG_XNACK_MASK_HI
@ REG_XNACK_MASK_HI
Definition: gpu_registers.hh:57
gem5::Gcn3ISA::DWORDSize
const int DWORDSize
Definition: registers.hh:174
gem5::Gcn3ISA::StatusReg::ALLOW_REPLAY
uint32_t ALLOW_REPLAY
Definition: gpu_registers.hh:214
gem5::Gcn3ISA::REG_POS_HALF
@ REG_POS_HALF
Definition: gpu_registers.hh:116
gem5::Gcn3ISA::REG_POS_FOUR
@ REG_POS_FOUR
Definition: gpu_registers.hh:122
gem5::Gcn3ISA::isExecMask
bool isExecMask(int opIdx)
Definition: registers.cc:200
gem5::Gcn3ISA::REG_RESERVED_17
@ REG_RESERVED_17
Definition: gpu_registers.hh:100
gem5::Gcn3ISA::REG_VCC_HI
@ REG_VCC_HI
Definition: gpu_registers.hh:59
gem5::Gcn3ISA::ScalarRegI16
int16_t ScalarRegI16
Definition: gpu_registers.hh:154
gem5::Gcn3ISA::ScalarRegI64
int64_t ScalarRegI64
Definition: gpu_registers.hh:159
gem5::Gcn3ISA::StatusReg::EXPORT_RDY
uint32_t EXPORT_RDY
Definition: gpu_registers.hh:200
gem5::Gcn3ISA::REG_FLAT_SCRATCH_LO
@ REG_FLAT_SCRATCH_LO
Definition: gpu_registers.hh:54
gem5::Gcn3ISA::REG_VGPR_MAX
@ REG_VGPR_MAX
Definition: gpu_registers.hh:134
gem5::Gcn3ISA::StatusReg::MUST_EXPORT
uint32_t MUST_EXPORT
Definition: gpu_registers.hh:217
gem5::Gcn3ISA::REG_RESERVED_12
@ REG_RESERVED_12
Definition: gpu_registers.hh:95
gem5::Gcn3ISA::REG_RESERVED_15
@ REG_RESERVED_15
Definition: gpu_registers.hh:98
gem5::Gcn3ISA::REG_TTMP_4
@ REG_TTMP_4
Definition: gpu_registers.hh:68
gem5::Gcn3ISA::REG_TTMP_3
@ REG_TTMP_3
Definition: gpu_registers.hh:67
gem5::Gcn3ISA::REG_RESERVED_9
@ REG_RESERVED_9
Definition: gpu_registers.hh:92
gem5::Gcn3ISA::REG_SGPR_MAX
@ REG_SGPR_MAX
Definition: gpu_registers.hh:53
gem5::Gcn3ISA::REG_INT_CONST_NEG_MAX
@ REG_INT_CONST_NEG_MAX
Definition: gpu_registers.hh:84
gem5::Gcn3ISA::StatusReg::COND_DBG_SYS
uint32_t COND_DBG_SYS
Definition: gpu_registers.hh:213
gem5::Gcn3ISA::REG_TMA_LO
@ REG_TMA_LO
Definition: gpu_registers.hh:62
gem5::Gcn3ISA::ScalarRegU8
uint8_t ScalarRegU8
Definition: gpu_registers.hh:151
gem5::Gcn3ISA::REG_INT_CONST_POS_MIN
@ REG_INT_CONST_POS_MIN
Definition: gpu_registers.hh:81
gem5::VecRegContainer
Vector Register Abstraction This generic class is the model in a particularization of MVC,...
Definition: vec_reg.hh:121
gem5::Gcn3ISA::StatusReg::StatusReg
StatusReg()
Definition: registers.hh:185
gem5::Gcn3ISA::REG_POS_TWO
@ REG_POS_TWO
Definition: gpu_registers.hh:120
gem5::Gcn3ISA::VecElemF32
float VecElemF32
Definition: gpu_registers.hh:169
gem5::Gcn3ISA::OpSelector
OpSelector
Definition: gpu_registers.hh:50
gem5::Gcn3ISA::NumNegConstRegs
const int NumNegConstRegs
Definition: gpu_registers.hh:143
gem5::Gcn3ISA::isVectorReg
bool isVectorReg(int opIdx)
Definition: registers.cc:231
gem5::Gcn3ISA::isLiteral
bool isLiteral(int opIdx)
Definition: registers.cc:194
gem5::Gcn3ISA::REG_M0
@ REG_M0
Definition: gpu_registers.hh:76
gem5::Gcn3ISA::opSelectorToRegIdx
int opSelectorToRegIdx(int opIdx, int numScalarRegs)
Definition: registers.cc:124
gem5::Gcn3ISA::NumVecElemPerVecReg
const int NumVecElemPerVecReg(64)
gem5::Gcn3ISA::REG_RESERVED_25
@ REG_RESERVED_25
Definition: gpu_registers.hh:108
gem5::Gcn3ISA::REG_NEG_ONE
@ REG_NEG_ONE
Definition: gpu_registers.hh:119
gem5::Gcn3ISA::NumPosConstRegs
const int NumPosConstRegs
Definition: gpu_registers.hh:140
gem5::Gcn3ISA::REG_RESERVED_6
@ REG_RESERVED_6
Definition: gpu_registers.hh:89
gem5::Gcn3ISA::REG_RESERVED_22
@ REG_RESERVED_22
Definition: gpu_registers.hh:105
gem5::Gcn3ISA::REG_RESERVED_5
@ REG_RESERVED_5
Definition: gpu_registers.hh:88
gem5::Gcn3ISA::VecElemI16
int16_t VecElemI16
Definition: gpu_registers.hh:166
gem5::Gcn3ISA::REG_RESERVED_4
@ REG_RESERVED_4
Definition: gpu_registers.hh:87
gem5::Gcn3ISA::VecElemF64
double VecElemF64
Definition: gpu_registers.hh:172
gem5::Gcn3ISA::StatusReg
Definition: gpu_registers.hh:183
gem5::Gcn3ISA::StatusReg::TTRACE_EN
uint32_t TTRACE_EN
Definition: gpu_registers.hh:199
gem5::Gcn3ISA::REG_TTMP_9
@ REG_TTMP_9
Definition: gpu_registers.hh:73
gem5::Gcn3ISA::VecElemI8
int8_t VecElemI8
Definition: gpu_registers.hh:164
gem5::Gcn3ISA::REG_SGPR_MIN
@ REG_SGPR_MIN
Definition: gpu_registers.hh:52
gem5::Gcn3ISA::StatusReg::SCC
uint32_t SCC
Definition: gpu_registers.hh:194
gem5::Gcn3ISA::StatusReg::VCCZ
uint32_t VCCZ
Definition: gpu_registers.hh:202
gem5::Gcn3ISA::REG_NEG_TWO
@ REG_NEG_TWO
Definition: gpu_registers.hh:121
gem5::Gcn3ISA::REG_RESERVED_18
@ REG_RESERVED_18
Definition: gpu_registers.hh:101
gem5::Gcn3ISA::ScalarRegU64
uint64_t ScalarRegU64
Definition: gpu_registers.hh:158
gem5::Gcn3ISA::REG_RESERVED_31
@ REG_RESERVED_31
Definition: gpu_registers.hh:114
gem5::Gcn3ISA::RegSizeDWORDs
const int RegSizeDWORDs
Size of a single-precision register in DWORDs.
Definition: registers.hh:178
gem5::Gcn3ISA::REG_RESERVED_21
@ REG_RESERVED_21
Definition: gpu_registers.hh:104
gem5::Gcn3ISA::REG_LDS_DIRECT
@ REG_LDS_DIRECT
Definition: gpu_registers.hh:131
gem5::Gcn3ISA::REG_RESERVED_13
@ REG_RESERVED_13
Definition: gpu_registers.hh:96
gem5::Gcn3ISA::REG_TTMP_11
@ REG_TTMP_11
Definition: gpu_registers.hh:75
gem5::Gcn3ISA::REG_RESERVED_29
@ REG_RESERVED_29
Definition: gpu_registers.hh:112
gem5::Gcn3ISA::REG_VCC_LO
@ REG_VCC_LO
Definition: gpu_registers.hh:58
gem5::Gcn3ISA::REG_FLAT_SCRATCH_HI
@ REG_FLAT_SCRATCH_HI
Definition: gpu_registers.hh:55
gem5::Gcn3ISA::REG_RESERVED_20
@ REG_RESERVED_20
Definition: gpu_registers.hh:103
vec_reg.hh
gem5::Gcn3ISA::StatusReg::PERF_EN
uint32_t PERF_EN
Definition: gpu_registers.hh:211
gem5::Gcn3ISA::REG_RESERVED_24
@ REG_RESERVED_24
Definition: gpu_registers.hh:107
gem5::Gcn3ISA::REG_NEG_HALF
@ REG_NEG_HALF
Definition: gpu_registers.hh:117
gem5::Gcn3ISA::StatusReg::HALT
uint32_t HALT
Definition: gpu_registers.hh:205
gem5::Gcn3ISA::StatusReg::RESERVED_1
uint32_t RESERVED_1
Definition: gpu_registers.hh:218
gem5::Gcn3ISA::REG_RESERVED_27
@ REG_RESERVED_27
Definition: gpu_registers.hh:110
gem5::Gcn3ISA::MaxOperandDwords
constexpr size_t MaxOperandDwords(16)
gem5::Gcn3ISA::ScalarRegF64
double ScalarRegF64
Definition: gpu_registers.hh:160
gem5::Gcn3ISA::REG_SRC_DPP
@ REG_SRC_DPP
Definition: gpu_registers.hh:127
gem5::Gcn3ISA::REG_RESERVED_10
@ REG_RESERVED_10
Definition: gpu_registers.hh:93
gem5::Gcn3ISA::StatusReg::TRAP
uint32_t TRAP
Definition: gpu_registers.hh:206
gem5::Gcn3ISA::REG_RESERVED_23
@ REG_RESERVED_23
Definition: gpu_registers.hh:106
gem5::Gcn3ISA::REG_RESERVED_3
@ REG_RESERVED_3
Definition: gpu_registers.hh:86
gem5::Gcn3ISA::REG_RESERVED_8
@ REG_RESERVED_8
Definition: gpu_registers.hh:91
gem5::Gcn3ISA::VecElemI64
int64_t VecElemI64
Definition: gpu_registers.hh:171
gem5::Gcn3ISA::REG_RESERVED_32
@ REG_RESERVED_32
Definition: gpu_registers.hh:115
gem5::Gcn3ISA::MSB_PER_BYTE
const int MSB_PER_BYTE
Definition: gpu_registers.hh:147
logging.hh
gem5::Gcn3ISA::StatusReg::TTRACE_CU_EN
uint32_t TTRACE_CU_EN
Definition: gpu_registers.hh:207
gem5::Gcn3ISA::BITS_PER_BYTE
const int BITS_PER_BYTE
Definition: gpu_registers.hh:145
gem5::Gcn3ISA::StatusReg::VALID
uint32_t VALID
Definition: gpu_registers.hh:208
gem5::Gcn3ISA::VecElemU8
uint8_t VecElemU8
Definition: gpu_registers.hh:163
gem5::Gcn3ISA::REG_RESERVED_1
@ REG_RESERVED_1
Definition: gpu_registers.hh:77
gem5::Gcn3ISA::REG_INT_CONST_POS_MAX
@ REG_INT_CONST_POS_MAX
Definition: gpu_registers.hh:82
gem5::Gcn3ISA::REG_SRC_LITERAL
@ REG_SRC_LITERAL
Definition: gpu_registers.hh:132
gem5::Gcn3ISA::REG_PI
@ REG_PI
Definition: gpu_registers.hh:124
gem5::Gcn3ISA::REG_RESERVED_11
@ REG_RESERVED_11
Definition: gpu_registers.hh:94
gem5::Gcn3ISA::REG_EXECZ
@ REG_EXECZ
Definition: gpu_registers.hh:129
gem5::Gcn3ISA::StatusReg::INSTRUCTION_ATC
uint32_t INSTRUCTION_ATC
Definition: gpu_registers.hh:215
gem5::Gcn3ISA::REG_TTMP_8
@ REG_TTMP_8
Definition: gpu_registers.hh:72
intmath.hh
gem5::Gcn3ISA::StatusReg::ECC_ERR
uint32_t ECC_ERR
Definition: gpu_registers.hh:209
gem5::Gcn3ISA::REG_XNACK_MASK_LO
@ REG_XNACK_MASK_LO
Definition: gpu_registers.hh:56
gem5::Gcn3ISA::REG_RESERVED_30
@ REG_RESERVED_30
Definition: gpu_registers.hh:113
gem5::Gcn3ISA::VecElemU16
uint16_t VecElemU16
Definition: gpu_registers.hh:165
gem5
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Definition: decoder.cc:40
gem5::Gcn3ISA::REG_ZERO
@ REG_ZERO
Definition: gpu_registers.hh:80
gem5::Gcn3ISA::ScalarRegI8
int8_t ScalarRegI8
Definition: gpu_registers.hh:152
gem5::Gcn3ISA::REG_TTMP_0
@ REG_TTMP_0
Definition: gpu_registers.hh:64
gem5::Gcn3ISA::REG_VCCZ
@ REG_VCCZ
Definition: gpu_registers.hh:128
gem5::Gcn3ISA::StatusReg::SPI_PRIO
uint32_t SPI_PRIO
Definition: gpu_registers.hh:195
gem5::Gcn3ISA::REG_RESERVED_19
@ REG_RESERVED_19
Definition: gpu_registers.hh:102
gem5::Gcn3ISA::REG_TBA_LO
@ REG_TBA_LO
Definition: gpu_registers.hh:60
gem5::Gcn3ISA::isConstVal
bool isConstVal(int opIdx)
Definition: registers.cc:187
gem5::Gcn3ISA::REG_RESERVED_7
@ REG_RESERVED_7
Definition: gpu_registers.hh:90
gem5::Gcn3ISA::REG_TTMP_10
@ REG_TTMP_10
Definition: gpu_registers.hh:74
gem5::Gcn3ISA::isFlatScratchReg
bool isFlatScratchReg(int opIdx)
Definition: registers.cc:212
gem5::Gcn3ISA::ScalarRegU32
uint32_t ScalarRegU32
Definition: gpu_registers.hh:155
gem5::Gcn3ISA::StatusReg::SKIP_EXPORT
uint32_t SKIP_EXPORT
Definition: gpu_registers.hh:210
gem5::Gcn3ISA::VecElemU64
uint64_t VecElemU64
Definition: gpu_registers.hh:170
gem5::Gcn3ISA::REG_INT_CONST_NEG_MIN
@ REG_INT_CONST_NEG_MIN
Definition: gpu_registers.hh:83

Generated on Wed Jul 28 2021 12:10:22 for gem5 by doxygen 1.8.17