gem5 v24.0.0.0
Loading...
Searching...
No Matches
types.hh
Go to the documentation of this file.
1/*
2 * Copyright (c) 2010, 2012-2013, 2017-2018, 2022-2023 Arm Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated
11 * unmodified and in its entirety in all distributions of the software,
12 * modified or unmodified, in source code or in binary form.
13 *
14 * Copyright (c) 2007-2008 The Florida State University
15 * All rights reserved.
16 *
17 * Redistribution and use in source and binary forms, with or without
18 * modification, are permitted provided that the following conditions are
19 * met: redistributions of source code must retain the above copyright
20 * notice, this list of conditions and the following disclaimer;
21 * redistributions in binary form must reproduce the above copyright
22 * notice, this list of conditions and the following disclaimer in the
23 * documentation and/or other materials provided with the distribution;
24 * neither the name of the copyright holders nor the names of its
25 * contributors may be used to endorse or promote products derived from
26 * this software without specific prior written permission.
27 *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 */
40
41#ifndef __ARCH_ARM_TYPES_HH__
42#define __ARCH_ARM_TYPES_HH__
43
44#include <cstdint>
45
46#include "arch/arm/pcstate.hh"
47#include "base/bitunion.hh"
48#include "base/logging.hh"
49
50namespace gem5
51{
52
53namespace ArmISA
54{
55 typedef uint32_t MachInst;
56
57 typedef uint16_t vmid_t;
58
60 // Decoder state
61 Bitfield<63, 62> decoderFault; // See DecoderFault
62 Bitfield<61> illegalExecution;
63 Bitfield<60> debugStep;
64
65 // SVE vector length, encoded in the same format as the ZCR_EL<x>.LEN
66 // bitfields
67 Bitfield<59, 56> sveLen;
68
69 // ITSTATE bits
70 Bitfield<55, 48> itstate;
71 Bitfield<55, 52> itstateCond;
72 Bitfield<51, 48> itstateMask;
73
74 // FPSCR fields
75 Bitfield<41, 40> fpscrStride;
76 Bitfield<39, 37> fpscrLen;
77
78 // Bitfields to select mode.
79 Bitfield<36> thumb;
80 Bitfield<35> bigThumb;
81 Bitfield<34> aarch64;
82
83 // Made up bitfields that make life easier.
84 Bitfield<33> sevenAndFour;
85 Bitfield<32> isMisc;
86
87 uint32_t instBits;
88
89 // All the different types of opcode fields.
90 Bitfield<27, 25> encoding;
91 Bitfield<25> useImm;
92 Bitfield<24, 21> opcode;
93 Bitfield<24, 20> mediaOpcode;
94 Bitfield<24> opcode24;
95 Bitfield<24, 23> opcode24_23;
96 Bitfield<23, 20> opcode23_20;
97 Bitfield<23, 21> opcode23_21;
98 Bitfield<20> opcode20;
99 Bitfield<22> opcode22;
100 Bitfield<19, 16> opcode19_16;
101 Bitfield<19> opcode19;
102 Bitfield<18> opcode18;
103 Bitfield<15, 12> opcode15_12;
104 Bitfield<15> opcode15;
105 Bitfield<7, 4> miscOpcode;
106 Bitfield<7,5> opc2;
107 Bitfield<7> opcode7;
108 Bitfield<6> opcode6;
109 Bitfield<4> opcode4;
110
111 Bitfield<31, 28> condCode;
112 Bitfield<20> sField;
113 Bitfield<19, 16> rn;
114 Bitfield<15, 12> rd;
115 Bitfield<15, 12> rt;
116 Bitfield<11, 7> shiftSize;
117 Bitfield<6, 5> shift;
118 Bitfield<3, 0> rm;
119
120 Bitfield<11, 8> rs;
121
122 SubBitUnion(puswl, 24, 20)
123 Bitfield<24> prepost;
124 Bitfield<23> up;
125 Bitfield<22> psruser;
126 Bitfield<21> writeback;
127 Bitfield<20> loadOp;
129
130 Bitfield<24, 20> pubwl;
131
132 Bitfield<7, 0> imm;
133
134 Bitfield<11, 8> rotate;
135
136 Bitfield<11, 0> immed11_0;
137 Bitfield<7, 0> immed7_0;
138
139 Bitfield<11, 8> immedHi11_8;
140 Bitfield<3, 0> immedLo3_0;
141
142 Bitfield<15, 0> regList;
143
144 Bitfield<23, 0> offset;
145
146 Bitfield<23, 0> immed23_0;
147
148 Bitfield<11, 8> cpNum;
149 Bitfield<18, 16> fn;
150 Bitfield<14, 12> fd;
151 Bitfield<3> fpRegImm;
152 Bitfield<3, 0> fm;
153 Bitfield<2, 0> fpImm;
154 Bitfield<24, 20> punwl;
155
156 Bitfield<15, 8> m5Func;
157
158 // 16 bit thumb bitfields
159 Bitfield<15, 13> topcode15_13;
160 Bitfield<13, 11> topcode13_11;
161 Bitfield<12, 11> topcode12_11;
162 Bitfield<12, 10> topcode12_10;
163 Bitfield<11, 9> topcode11_9;
164 Bitfield<11, 8> topcode11_8;
165 Bitfield<10, 9> topcode10_9;
166 Bitfield<10, 8> topcode10_8;
167 Bitfield<9, 6> topcode9_6;
168 Bitfield<7> topcode7;
169 Bitfield<7, 6> topcode7_6;
170 Bitfield<7, 5> topcode7_5;
171 Bitfield<7, 4> topcode7_4;
172 Bitfield<3, 0> topcode3_0;
173
174 // 32 bit thumb bitfields
175 Bitfield<28, 27> htopcode12_11;
176 Bitfield<26, 25> htopcode10_9;
177 Bitfield<25> htopcode9;
178 Bitfield<25, 24> htopcode9_8;
179 Bitfield<25, 21> htopcode9_5;
180 Bitfield<25, 20> htopcode9_4;
181 Bitfield<24> htopcode8;
182 Bitfield<24, 23> htopcode8_7;
183 Bitfield<24, 22> htopcode8_6;
184 Bitfield<24, 21> htopcode8_5;
185 Bitfield<23> htopcode7;
186 Bitfield<23, 21> htopcode7_5;
187 Bitfield<22> htopcode6;
188 Bitfield<22, 21> htopcode6_5;
189 Bitfield<21, 20> htopcode5_4;
190 Bitfield<20> htopcode4;
191
192 Bitfield<19, 16> htrn;
193 Bitfield<20> hts;
194
195 Bitfield<15> ltopcode15;
196 Bitfield<11, 8> ltopcode11_8;
197 Bitfield<7, 6> ltopcode7_6;
198 Bitfield<7, 4> ltopcode7_4;
199 Bitfield<4> ltopcode4;
200
201 Bitfield<11, 8> ltrd;
202 Bitfield<11, 8> ltcoproc;
204
205 BitUnion32(Affinity)
206 Bitfield<31, 24> aff3;
207 Bitfield<23, 16> aff2;
208 Bitfield<15, 8> aff1;
209 Bitfield<7, 0> aff0;
210 EndBitUnion(Affinity)
211
212 // Shift types for ARM instructions
213 enum ArmShiftType
214 {
215 LSL = 0,
216 LSR,
217 ASR,
218 ROR
219 };
220
221 // Extension types for ARM instructions
223 {
224 UXTB = 0,
225 UXTH = 1,
226 UXTW = 2,
227 UXTX = 3,
228 SXTB = 4,
229 SXTH = 5,
230 SXTW = 6,
231 SXTX = 7
232 };
233
234 typedef int RegContextParam;
235 typedef int RegContextVal;
236
237 //used in FP convert & round function
261
262 //used in FP convert & round function
270
272 {
273 EL0 = 0,
276 EL3
277 };
278
280 {
281 EL10,
282 EL20,
283 EL2,
284 EL3
285 };
286
307
308 enum class ExceptionClass
309 {
310 INVALID = -1,
311 UNKNOWN = 0x0,
312 TRAPPED_WFI_WFE = 0x1,
317 TRAPPED_HCPTR = 0x7,
318 TRAPPED_SIMD_FP = 0x7, // AArch64 alias
320 TRAPPED_PAC = 0x9,
321 TRAPPED_BXJ = 0xA,
323 ILLEGAL_INST = 0xE,
324 SVC_TO_HYP = 0x11,
325 SVC = 0x11, // AArch64 alias
326 HVC = 0x12,
327 SMC_TO_HYP = 0x13,
328 SMC = 0x13, // AArch64 alias
329 SVC_64 = 0x15,
330 HVC_64 = 0x16,
331 SMC_64 = 0x17,
332 TRAPPED_MSR_MRS_64 = 0x18,
333 TRAPPED_SVE = 0x19,
334 TRAPPED_ERET = 0x1A,
335 TRAPPED_SME = 0x1D,
337 PREFETCH_ABORT_LOWER_EL = 0x20, // AArch64 alias
339 PREFETCH_ABORT_CURR_EL = 0x21, // AArch64 alias
340 PC_ALIGNMENT = 0x22,
341 DATA_ABORT_TO_HYP = 0x24,
342 DATA_ABORT_LOWER_EL = 0x24, // AArch64 alias
343 DATA_ABORT_FROM_HYP = 0x25,
344 DATA_ABORT_CURR_EL = 0x25, // AArch64 alias
345 STACK_PTR_ALIGNMENT = 0x26,
346 FP_EXCEPTION = 0x28,
347 FP_EXCEPTION_64 = 0x2C,
348 SERROR = 0x2F,
349 HW_BREAKPOINT = 0x30,
352 SOFTWARE_STEP = 0x32,
355 WATCHPOINT = 0x34,
356 WATCHPOINT_LOWER_EL = 0x34,
357 WATCHPOINT_CURR_EL = 0x35,
358 SOFTWARE_BREAKPOINT = 0x38,
359 VECTOR_CATCH = 0x3A,
361 };
362
366 enum DecoderFault : std::uint8_t
367 {
368 OK = 0x0,
369 UNALIGNED = 0x1,
370
371 PANIC = 0x3,
372 };
373
374 BitUnion8(OperatingMode64)
375 Bitfield<0> spX;
376 Bitfield<3, 2> el;
377 Bitfield<4> width;
378 EndBitUnion(OperatingMode64)
379
380 static bool inline
381 opModeIs64(OperatingMode mode)
382 {
383 return ((OperatingMode64)(uint8_t)mode).width == 0;
384 }
385
386 static bool inline
388 {
389 return (mode == MODE_EL1H || mode == MODE_EL2H || mode == MODE_EL3H);
390 }
391
392 static bool inline
394 {
395 return (mode == MODE_EL0T || mode == MODE_EL1T || mode == MODE_EL2T ||
396 mode == MODE_EL3T);
397 }
398
399 static ExceptionLevel inline
401 {
402 bool aarch32 = ((mode >> 4) & 1) ? true : false;
403 if (aarch32) {
404 switch (mode) {
405 case MODE_USER:
406 return EL0;
407 case MODE_FIQ:
408 case MODE_IRQ:
409 case MODE_SVC:
410 case MODE_ABORT:
411 case MODE_UNDEFINED:
412 case MODE_SYSTEM:
413 return EL1;
414 case MODE_HYP:
415 return EL2;
416 case MODE_MON:
417 return EL3;
418 default:
419 panic("Invalid operating mode: %d", mode);
420 break;
421 }
422 } else {
423 // aarch64
424 return (ExceptionLevel) ((mode >> 2) & 3);
425 }
426 }
427
428 static inline bool
430 {
431 switch (mode) {
432 case MODE_EL0T:
433 case MODE_EL1T:
434 case MODE_EL1H:
435 case MODE_EL2T:
436 case MODE_EL2H:
437 case MODE_EL3T:
438 case MODE_EL3H:
439 case MODE_USER:
440 case MODE_FIQ:
441 case MODE_IRQ:
442 case MODE_SVC:
443 case MODE_MON:
444 case MODE_ABORT:
445 case MODE_HYP:
446 case MODE_UNDEFINED:
447 case MODE_SYSTEM:
448 return false;
449 default:
450 return true;
451 }
452 }
453
454 static inline bool
456 {
457 switch (mode) {
458 case MODE_USER:
459 case MODE_FIQ:
460 case MODE_IRQ:
461 case MODE_SVC:
462 case MODE_MON:
463 case MODE_ABORT:
464 case MODE_HYP:
465 case MODE_UNDEFINED:
466 case MODE_SYSTEM:
467 return false;
468 default:
469 return true;
470 }
471 }
472
473 static inline const char*
475 {
476 switch (regime) {
478 return "EL10";
480 return "EL20";
482 return "EL2";
484 return "EL3";
485 default:
486 GEM5_UNREACHABLE;
487 }
488 }
489
490 constexpr unsigned MaxSveVecLenInBits = 2048;
491 static_assert(MaxSveVecLenInBits >= 128 &&
492 MaxSveVecLenInBits <= 2048 &&
493 MaxSveVecLenInBits % 128 == 0,
494 "Unsupported max. SVE vector length");
495 constexpr unsigned MaxSveVecLenInBytes = MaxSveVecLenInBits >> 3;
496 constexpr unsigned MaxSveVecLenInWords = MaxSveVecLenInBits >> 5;
497 constexpr unsigned MaxSveVecLenInDWords = MaxSveVecLenInBits >> 6;
498
501
502 constexpr unsigned MaxSmeVecLenInBits = 2048;
503 static_assert(MaxSmeVecLenInBits >= 128 &&
504 MaxSmeVecLenInBits <= 2048 &&
505 // Only powers of two are supported. We don't need to
506 // check for the zero case here as we already know it
507 // is over 128.
509 "Unsupported max. SME vector length");
510 constexpr unsigned MaxSmeVecLenInBytes = MaxSmeVecLenInBits >> 3;
511 constexpr unsigned MaxSmeVecLenInWords = MaxSmeVecLenInBits >> 5;
512 constexpr unsigned MaxSmeVecLenInDWords = MaxSmeVecLenInBits >> 6;
513
514} // namespace ArmISA
515} // namespace gem5
516
517#endif
#define BitUnion32(name)
Definition bitunion.hh:495
#define BitUnion8(name)
Definition bitunion.hh:497
#define BitUnion64(name)
Use this to define conveniently sized values overlayed with bitfields.
Definition bitunion.hh:494
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
Definition bitunion.hh:428
#define SubBitUnion(name, first, last)
Regular bitfields These define macros for read/write regular bitfield based subbitfields.
Definition bitunion.hh:470
#define EndSubBitUnion(name)
This closes off the union created above and gives it a name.
Definition bitunion.hh:455
#define panic(...)
This implements a cprintf based panic() function.
Definition logging.hh:188
Bitfield< 24 > htopcode8
Definition types.hh:181
Bitfield< 18, 16 > fn
Definition types.hh:149
Bitfield< 11, 8 > cpNum
Definition types.hh:148
Bitfield< 33 > sevenAndFour
Definition types.hh:84
@ MODE_UNDEFINED
Definition types.hh:303
Bitfield< 14, 12 > fd
Definition types.hh:150
int RegContextVal
Definition types.hh:235
Bitfield< 7, 6 > topcode7_6
Definition types.hh:169
Bitfield< 10, 8 > topcode10_8
Definition types.hh:166
Bitfield< 25 > htopcode9
Definition types.hh:177
static bool opModeIsT(OperatingMode mode)
Definition types.hh:393
Bitfield< 15, 8 > aff1
Definition types.hh:208
Bitfield< 11, 9 > topcode11_9
Definition types.hh:163
Bitfield< 11, 0 > immed11_0
Definition types.hh:136
constexpr unsigned MaxSmeVecLenInBytes
Definition types.hh:510
Bitfield< 15, 12 > rd
Definition types.hh:114
Bitfield< 15, 12 > rt
Definition types.hh:115
constexpr unsigned MaxSmeVecLenInWords
Definition types.hh:511
Bitfield< 32 > isMisc
Definition types.hh:85
Bitfield< 24, 20 > punwl
Definition types.hh:154
Bitfield< 4, 0 > mode
Definition misc_types.hh:74
Bitfield< 4 > width
Definition misc_types.hh:72
Bitfield< 3 > fpRegImm
Definition types.hh:151
Bitfield< 11, 8 > immedHi11_8
Definition types.hh:139
Bitfield< 3, 0 > rm
Definition types.hh:118
Bitfield< 11, 8 > ltrd
Definition types.hh:201
Bitfield< 3, 0 > topcode3_0
Definition types.hh:172
Bitfield< 7, 0 > immed7_0
Definition types.hh:137
Bitfield< 31, 28 > condCode
Definition types.hh:111
Bitfield< 24, 23 > htopcode8_7
Definition types.hh:182
Bitfield< 9, 6 > topcode9_6
Definition types.hh:167
Bitfield< 13, 11 > topcode13_11
Definition types.hh:160
Bitfield< 4 > opcode4
Definition types.hh:109
Bitfield< 7, 0 > imm
Definition types.hh:132
Bitfield< 23 > htopcode7
Definition types.hh:185
Bitfield< 51, 48 > itstateMask
Definition types.hh:72
static bool unknownMode32(OperatingMode mode)
Definition types.hh:455
Bitfield< 21 > writeback
Definition types.hh:126
Bitfield< 15, 0 > regList
Definition types.hh:142
Bitfield< 7, 4 > miscOpcode
Definition types.hh:105
static bool unknownMode(OperatingMode mode)
Definition types.hh:429
constexpr unsigned VecPredRegSizeBits
Definition types.hh:500
Bitfield< 18 > opcode18
Definition types.hh:102
Bitfield< 15 > ltopcode15
Definition types.hh:195
Bitfield< 23, 0 > offset
Definition types.hh:144
Bitfield< 24, 21 > htopcode8_5
Definition types.hh:184
Bitfield< 9, 8 > rs
Bitfield< 60 > debugStep
Definition types.hh:63
Bitfield< 3, 0 > fm
Definition types.hh:152
Bitfield< 24 > opcode24
Definition types.hh:94
Bitfield< 26, 25 > htopcode10_9
Definition types.hh:176
Bitfield< 36 > thumb
Definition types.hh:79
Bitfield< 22 > htopcode6
Definition types.hh:187
Bitfield< 23 > up
Definition types.hh:124
Bitfield< 19, 16 > rn
Definition types.hh:113
Bitfield< 22 > psruser
Definition types.hh:125
Bitfield< 10, 9 > topcode10_9
Definition types.hh:165
Bitfield< 7, 5 > opc2
Definition types.hh:106
Bitfield< 25, 21 > htopcode9_5
Definition types.hh:179
Bitfield< 7, 5 > topcode7_5
Definition types.hh:170
Bitfield< 15, 13 > topcode15_13
Definition types.hh:159
static const char * regimeToStr(TranslationRegime regime)
Definition types.hh:474
Bitfield< 15 > opcode15
Definition types.hh:104
DecoderFault
Instruction decoder fault codes in ExtMachInst.
Definition types.hh:367
@ UNALIGNED
Unaligned instruction fault.
Definition types.hh:369
@ OK
No fault.
Definition types.hh:368
@ PANIC
Internal gem5 error.
Definition types.hh:371
Bitfield< 7, 4 > topcode7_4
Definition types.hh:171
Bitfield< 41, 40 > fpscrStride
Definition types.hh:75
Bitfield< 39, 37 > fpscrLen
Definition types.hh:76
Bitfield< 11, 8 > ltcoproc
Definition types.hh:202
Bitfield< 15, 8 > m5Func
Definition types.hh:156
Bitfield< 20 > opcode20
Definition types.hh:98
Bitfield< 6 > opcode6
Definition types.hh:108
Bitfield< 22, 21 > htopcode6_5
Definition types.hh:188
uint32_t MachInst
Definition types.hh:55
Bitfield< 23, 20 > opcode23_20
Definition types.hh:96
constexpr unsigned MaxSveVecLenInWords
Definition types.hh:496
static bool opModeIsH(OperatingMode mode)
Definition types.hh:387
constexpr unsigned VecRegSizeBytes
Definition types.hh:499
Bitfield< 25 > useImm
Definition types.hh:91
Bitfield< 55, 52 > itstateCond
Definition types.hh:71
constexpr unsigned MaxSveVecLenInDWords
Definition types.hh:497
Bitfield< 55, 48 > itstate
Definition types.hh:70
Bitfield< 24, 23 > opcode24_23
Definition types.hh:95
Bitfield< 23, 16 > aff2
Definition types.hh:207
Bitfield< 25, 24 > htopcode9_8
Definition types.hh:178
constexpr unsigned MaxSmeVecLenInBits
Definition types.hh:502
constexpr unsigned MaxSveVecLenInBits
Definition types.hh:490
Bitfield< 7, 0 > aff0
Definition types.hh:209
Bitfield< 23, 21 > opcode23_21
Definition types.hh:97
uint32_t instBits
Definition types.hh:87
Bitfield< 20 > sField
Definition types.hh:112
Bitfield< 19 > opcode19
Definition types.hh:101
Bitfield< 7 > topcode7
Definition types.hh:168
Bitfield< 3, 0 > immedLo3_0
Definition types.hh:140
int RegContextParam
Definition types.hh:234
Bitfield< 2, 0 > fpImm
Definition types.hh:153
Bitfield< 22 > opcode22
Definition types.hh:99
Bitfield< 24, 21 > opcode
Definition types.hh:92
Bitfield< 21, 20 > htopcode5_4
Definition types.hh:189
Bitfield< 20 > htopcode4
Definition types.hh:190
Bitfield< 23, 21 > htopcode7_5
Definition types.hh:186
Bitfield< 25, 20 > htopcode9_4
Definition types.hh:180
Bitfield< 35 > bigThumb
Definition types.hh:80
Bitfield< 3, 2 > el
Definition misc_types.hh:73
uint16_t vmid_t
Definition types.hh:57
Bitfield< 28, 27 > htopcode12_11
Definition types.hh:175
Bitfield< 12, 10 > topcode12_10
Definition types.hh:162
static ExceptionLevel opModeToEL(OperatingMode mode)
Definition types.hh:400
Bitfield< 23, 0 > immed23_0
Definition types.hh:146
Bitfield< 7 > opcode7
Definition types.hh:107
Bitfield< 34 > aarch64
Definition types.hh:81
Bitfield< 11, 8 > ltopcode11_8
Definition types.hh:196
Bitfield< 27, 25 > encoding
Definition types.hh:90
Bitfield< 19, 16 > htrn
Definition types.hh:192
Bitfield< 24, 22 > htopcode8_6
Definition types.hh:183
Bitfield< 11, 8 > rotate
Definition types.hh:134
Bitfield< 11, 7 > shiftSize
Definition types.hh:116
Bitfield< 15, 12 > opcode15_12
Definition types.hh:103
constexpr unsigned MaxSmeVecLenInDWords
Definition types.hh:512
Bitfield< 59, 56 > sveLen
Definition types.hh:67
Bitfield< 7, 4 > ltopcode7_4
Definition types.hh:198
Bitfield< 7, 6 > ltopcode7_6
Definition types.hh:197
Bitfield< 11, 8 > topcode11_8
Definition types.hh:164
Bitfield< 12, 11 > topcode12_11
Definition types.hh:161
Bitfield< 6, 5 > shift
Definition types.hh:117
Bitfield< 61 > illegalExecution
Definition types.hh:62
@ SINGLE_TO_LONG
Definition types.hh:242
@ DOUBLE_TO_WORD
Definition types.hh:245
@ SINGLE_TO_DOUBLE
Definition types.hh:240
@ DOUBLE_TO_LONG
Definition types.hh:246
@ WORD_TO_SINGLE
Definition types.hh:253
@ WORD_TO_DOUBLE
Definition types.hh:254
@ LONG_TO_DOUBLE
Definition types.hh:249
@ LONG_TO_SINGLE
Definition types.hh:248
@ SINGLE_TO_WORD
Definition types.hh:241
@ DOUBLE_TO_SINGLE
Definition types.hh:244
Bitfield< 19, 16 > opcode19_16
Definition types.hh:100
Bitfield< 20 > hts
Definition types.hh:193
constexpr unsigned MaxSveVecLenInBytes
Definition types.hh:495
Bitfield< 20 > loadOp
Definition types.hh:127
Bitfield< 4 > ltopcode4
Definition types.hh:199
Bitfield< 24, 20 > mediaOpcode
Definition types.hh:93
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Definition binary32.hh:36

Generated on Tue Jun 18 2024 16:24:00 for gem5 by doxygen 1.11.0