int.isa (12234:78ece221f9f5) | int.isa (12616:4b463b4dc098) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 34 unchanged lines hidden (view full) --- 43 protected: 44 45 /// Constructor 46 IntOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 47 MipsStaticInst(mnem, _machInst, __opClass) 48 { 49 } 50 | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 MIPS Technologies, Inc. 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright --- 34 unchanged lines hidden (view full) --- 43 protected: 44 45 /// Constructor 46 IntOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 47 MipsStaticInst(mnem, _machInst, __opClass) 48 { 49 } 50 |
51 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; | 51 std::string generateDisassembly( 52 Addr pc, const SymbolTable *symtab) const override; |
52 }; 53 54 55 class HiLoOp: public IntOp 56 { 57 protected: 58 59 /// Constructor 60 HiLoOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 61 IntOp(mnem, _machInst, __opClass) 62 { 63 } 64 | 53 }; 54 55 56 class HiLoOp: public IntOp 57 { 58 protected: 59 60 /// Constructor 61 HiLoOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 62 IntOp(mnem, _machInst, __opClass) 63 { 64 } 65 |
65 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; | 66 std::string generateDisassembly( 67 Addr pc, const SymbolTable *symtab) const override; |
66 }; 67 68 class HiLoRsSelOp: public HiLoOp 69 { 70 protected: 71 72 /// Constructor 73 HiLoRsSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 74 HiLoOp(mnem, _machInst, __opClass) 75 { 76 } 77 | 68 }; 69 70 class HiLoRsSelOp: public HiLoOp 71 { 72 protected: 73 74 /// Constructor 75 HiLoRsSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 76 HiLoOp(mnem, _machInst, __opClass) 77 { 78 } 79 |
78 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; | 80 std::string generateDisassembly( 81 Addr pc, const SymbolTable *symtab) const override; |
79 }; 80 81 class HiLoRdSelOp: public HiLoOp 82 { 83 protected: 84 85 /// Constructor 86 HiLoRdSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 87 HiLoOp(mnem, _machInst, __opClass) 88 { 89 } 90 | 82 }; 83 84 class HiLoRdSelOp: public HiLoOp 85 { 86 protected: 87 88 /// Constructor 89 HiLoRdSelOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 90 HiLoOp(mnem, _machInst, __opClass) 91 { 92 } 93 |
91 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; | 94 std::string generateDisassembly( 95 Addr pc, const SymbolTable *symtab) const override; |
92 }; 93 94 class HiLoRdSelValOp: public HiLoOp 95 { 96 protected: 97 98 /// Constructor 99 HiLoRdSelValOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 100 HiLoOp(mnem, _machInst, __opClass) 101 { 102 } 103 | 96 }; 97 98 class HiLoRdSelValOp: public HiLoOp 99 { 100 protected: 101 102 /// Constructor 103 HiLoRdSelValOp(const char *mnem, MachInst _machInst, OpClass __opClass) : 104 HiLoOp(mnem, _machInst, __opClass) 105 { 106 } 107 |
104 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; | 108 std::string generateDisassembly( 109 Addr pc, const SymbolTable *symtab) const override; |
105 }; 106 107 class IntImmOp : public MipsStaticInst 108 { 109 protected: 110 111 int16_t imm; 112 int32_t sextImm; --- 6 unchanged lines hidden (view full) --- 119 { 120 //If Bit 15 is 1 then Sign Extend 121 int32_t temp = sextImm & 0x00008000; 122 if (temp > 0 && strcmp(mnemonic,"lui") != 0) { 123 sextImm |= 0xFFFF0000; 124 } 125 } 126 | 110 }; 111 112 class IntImmOp : public MipsStaticInst 113 { 114 protected: 115 116 int16_t imm; 117 int32_t sextImm; --- 6 unchanged lines hidden (view full) --- 124 { 125 //If Bit 15 is 1 then Sign Extend 126 int32_t temp = sextImm & 0x00008000; 127 if (temp > 0 && strcmp(mnemonic,"lui") != 0) { 128 sextImm |= 0xFFFF0000; 129 } 130 } 131 |
127 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const; 128 129 | 132 std::string generateDisassembly( 133 Addr pc, const SymbolTable *symtab) const override; |
130 }; 131 132}}; 133 134// HiLo instruction class execute method template. 135def template HiLoExecute {{ 136 Fault %(class_name)s::execute( 137 ExecContext *xc, Trace::InstRecord *traceData) const --- 247 unchanged lines hidden --- | 134 }; 135 136}}; 137 138// HiLo instruction class execute method template. 139def template HiLoExecute {{ 140 Fault %(class_name)s::execute( 141 ExecContext *xc, Trace::InstRecord *traceData) const --- 247 unchanged lines hidden --- |