Go to the documentation of this file.
110 std::stringstream
ss;
122 std::stringstream
ss;
135 std::stringstream
ss;
149 std::stringstream
ss;
168 std::stringstream
ss;
180 std::stringstream
ss;
194 std::stringstream
ss;
206 std::stringstream
ss;
218 std::stringstream
ss;
233 std::stringstream
ss;
247 std::stringstream
ss;
263 std::stringstream
ss;
277 std::stringstream
ss;
293 std::stringstream
ss;
312 std::stringstream
ss;
326 std::stringstream
ss;
343 std::stringstream
ss;
363 std::stringstream
ss;
376 std::stringstream
ss;
392 std::stringstream
ss;
408 std::stringstream
ss;
424 std::stringstream
ss;
440 std::stringstream
ss;
454 std::stringstream
ss;
470 std::stringstream
ss;
484 std::stringstream
ss;
504 std::stringstream
ss;
519 std::stringstream
ss;
530 }
else if (
mult != 1) {
534 ss << __builtin_ctz(
mult);
544 static const char suffix[9] =
545 {
'\0',
'b',
'h',
'\0',
'w',
'\0',
'\0',
'\0',
'd'};
546 std::stringstream
ss;
572 std::stringstream
ss;
586 std::stringstream
ss;
602 std::stringstream
ss;
628 std::stringstream
ss;
641 std::stringstream
ss;
655 std::stringstream
ss;
667 std::stringstream
ss;
679 std::stringstream
ss;
689 std::stringstream
ss;
702 std::stringstream
ss;
712 std::stringstream
ss;
721 std::stringstream
ss;
737 std::stringstream
ss;
752 std::stringstream
ss;
768 std::stringstream
ss;
785 std::stringstream
ss;
799 std::stringstream
ss;
809 const char* rotstr[4] = {
"0",
"90",
"180",
"270"};
819 std::stringstream
ss;
829 const char* rotstr[4] = {
"0",
"90",
"180",
"270"};
869 assert(num_elems > 0);
874 return 1 << (31 - __builtin_clz((uint32_t) num_elems));
883 return (num_elems >=
imm) ?
imm : 0;
892 unsigned int pcount = 1 << ((
imm & 0x7) + 3);
893 return (num_elems >= pcount) ? pcount : 0;
897 return num_elems - (num_elems % 4);
900 return num_elems - (num_elems % 3);
912 static constexpr uint16_t fpOne16 = 0x3c00;
913 static constexpr uint16_t fpPointFive16 = 0x3800;
914 static constexpr uint32_t fpOne32 = 0x3f800000;
915 static constexpr uint32_t fpPointFive32 = 0x3f000000;
916 static constexpr uint64_t fpOne64 = 0x3ff0000000000000;
917 static constexpr uint64_t fpPointFive64 = 0x3fe0000000000000;
921 return imm ? fpOne16 : fpPointFive16;
923 return imm ? fpOne32 : fpPointFive32;
925 return imm ? fpOne64 : fpPointFive64;
927 panic(
"Unsupported size");
934 static constexpr uint16_t fpOne16 = 0x3c00;
935 static constexpr uint32_t fpOne32 = 0x3f800000;
936 static constexpr uint64_t fpOne64 = 0x3ff0000000000000;
940 return imm ? fpOne16 : 0x0;
942 return imm ? fpOne32 : 0x0;
944 return imm ? fpOne64 : 0x0;
946 panic(
"Unsupported size");
953 static constexpr uint16_t fpTwo16 = 0x4000;
954 static constexpr uint16_t fpPointFive16 = 0x3800;
955 static constexpr uint32_t fpTwo32 = 0x40000000;
956 static constexpr uint32_t fpPointFive32 = 0x3f000000;
957 static constexpr uint64_t fpTwo64 = 0x4000000000000000;
958 static constexpr uint64_t fpPointFive64 = 0x3fe0000000000000;
962 return imm ? fpTwo16 : fpPointFive16;
964 return imm ? fpTwo32 : fpPointFive32;
966 return imm ? fpTwo64 : fpPointFive64;
968 panic(
"Unsupported size");
void printVecReg(std::ostream &os, RegIndex reg_idx, bool isSveVecReg=false) const
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
uint64_t sveExpandFpImmMaxMin(uint8_t imm, uint8_t size)
Expand 1-bit floating-point immediate to 0.0 or 1.0 (FMAX, FMAXNM, FMIN, FMINNM).
std::string sveDisasmPredCountImm(uint8_t imm)
Returns the symbolic name associated with pattern imm for PTRUE(S) instructions.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
SveAdrOffsetFormat offsetFormat
unsigned int sveDecodePredCount(uint8_t imm, unsigned int num_elems)
Returns the actual number of elements active for PTRUE(S) instructions.
void printMnemonic(std::ostream &os, const std::string &suffix="", bool withPred=true, bool withCond64=false, ConditionCode cond64=COND_UC) const
const std::string to_string(sc_enc enc)
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
const char * svePredTypeToStr(SvePredType pt)
Returns the specifier for the predication type pt as a string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void ccprintf(cp::Print &print)
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
uint64_t sveExpandFpImmAddSub(uint8_t imm, uint8_t size)
Expand 1-bit floating-point immediate to 0.5 or 1.0 (FADD, FSUB, FSUBR).
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void printVecPredReg(std::ostream &os, RegIndex reg_idx) const
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
uint64_t sveExpandFpImmMul(uint8_t imm, uint8_t size)
Expand 1-bit floating-point immediate to 0.5 or 2.0 (FMUL).
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void printFloatReg(std::ostream &os, RegIndex reg_idx) const
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
@ SveAdrOffsetUnpackedSigned
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void printIntReg(std::ostream &os, RegIndex reg_idx, uint8_t opWidth=0) const
Print a register name for disassembly given the unique dependence tag number (FP or int).
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
const char * mnemonic
Base mnemonic (e.g., "add").
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
@ SveAdrOffsetUnpackedUnsigned
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
#define panic(...)
This implements a cprintf based panic() function.
Generated on Tue Sep 7 2021 14:53:41 for gem5 by doxygen 1.8.17