Go to the documentation of this file.
107 std::stringstream
ss;
119 std::stringstream
ss;
132 std::stringstream
ss;
146 std::stringstream
ss;
165 std::stringstream
ss;
177 std::stringstream
ss;
191 std::stringstream
ss;
203 std::stringstream
ss;
215 std::stringstream
ss;
230 std::stringstream
ss;
244 std::stringstream
ss;
260 std::stringstream
ss;
274 std::stringstream
ss;
290 std::stringstream
ss;
309 std::stringstream
ss;
323 std::stringstream
ss;
340 std::stringstream
ss;
360 std::stringstream
ss;
373 std::stringstream
ss;
389 std::stringstream
ss;
405 std::stringstream
ss;
421 std::stringstream
ss;
437 std::stringstream
ss;
451 std::stringstream
ss;
467 std::stringstream
ss;
481 std::stringstream
ss;
501 std::stringstream
ss;
516 std::stringstream
ss;
527 }
else if (
mult != 1) {
531 ss << __builtin_ctz(
mult);
541 static const char suffix[9] =
542 {
'\0',
'b',
'h',
'\0',
'w',
'\0',
'\0',
'\0',
'd'};
543 std::stringstream
ss;
569 std::stringstream
ss;
583 std::stringstream
ss;
599 std::stringstream
ss;
625 std::stringstream
ss;
638 std::stringstream
ss;
652 std::stringstream
ss;
664 std::stringstream
ss;
676 std::stringstream
ss;
686 std::stringstream
ss;
699 std::stringstream
ss;
709 std::stringstream
ss;
718 std::stringstream
ss;
734 std::stringstream
ss;
749 std::stringstream
ss;
765 std::stringstream
ss;
782 std::stringstream
ss;
796 std::stringstream
ss;
806 const char* rotstr[4] = {
"0",
"90",
"180",
"270"};
816 std::stringstream
ss;
826 const char* rotstr[4] = {
"0",
"90",
"180",
"270"};
866 assert(num_elems > 0);
871 return 1 << (31 - __builtin_clz((uint32_t) num_elems));
880 return (num_elems >=
imm) ?
imm : 0;
889 unsigned int pcount = 1 << ((
imm & 0x7) + 3);
890 return (num_elems >= pcount) ? pcount : 0;
894 return num_elems - (num_elems % 4);
897 return num_elems - (num_elems % 3);
909 static constexpr uint16_t fpOne16 = 0x3c00;
910 static constexpr uint16_t fpPointFive16 = 0x3800;
911 static constexpr uint32_t fpOne32 = 0x3f800000;
912 static constexpr uint32_t fpPointFive32 = 0x3f000000;
913 static constexpr uint64_t fpOne64 = 0x3ff0000000000000;
914 static constexpr uint64_t fpPointFive64 = 0x3fe0000000000000;
918 return imm ? fpOne16 : fpPointFive16;
920 return imm ? fpOne32 : fpPointFive32;
922 return imm ? fpOne64 : fpPointFive64;
924 panic(
"Unsupported size");
931 static constexpr uint16_t fpOne16 = 0x3c00;
932 static constexpr uint32_t fpOne32 = 0x3f800000;
933 static constexpr uint64_t fpOne64 = 0x3ff0000000000000;
937 return imm ? fpOne16 : 0x0;
939 return imm ? fpOne32 : 0x0;
941 return imm ? fpOne64 : 0x0;
943 panic(
"Unsupported size");
950 static constexpr uint16_t fpTwo16 = 0x4000;
951 static constexpr uint16_t fpPointFive16 = 0x3800;
952 static constexpr uint32_t fpTwo32 = 0x40000000;
953 static constexpr uint32_t fpPointFive32 = 0x3f000000;
954 static constexpr uint64_t fpTwo64 = 0x4000000000000000;
955 static constexpr uint64_t fpPointFive64 = 0x3fe0000000000000;
959 return imm ? fpTwo16 : fpPointFive16;
961 return imm ? fpTwo32 : fpPointFive32;
963 return imm ? fpTwo64 : fpPointFive64;
965 panic(
"Unsupported size");
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.
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.
SveAdrOffsetFormat offsetFormat
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.
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.
unsigned int sveDecodePredCount(uint8_t imm, unsigned int num_elems)
Returns the actual number of elements active 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.
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.
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.
uint64_t sveExpandFpImmAddSub(uint8_t imm, uint8_t size)
Expand 1-bit floating-point immediate to 0.5 or 1.0 (FADD, FSUB, FSUBR).
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.
const char * mnemonic
Base mnemonic (e.g., "add").
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).
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).
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.
void printVecPredReg(std::ostream &os, RegIndex reg_idx) const
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.
@ SveAdrOffsetUnpackedUnsigned
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 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.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void printMnemonic(std::ostream &os, const std::string &suffix="", bool withPred=true, bool withCond64=false, ConditionCode cond64=COND_UC) const
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.
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.
#define panic(...)
This implements a cprintf based panic() function.
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.
Generated on Wed Sep 30 2020 14:02:00 for gem5 by doxygen 1.8.17