microregop.hh (12104:edd63f9c6184) | microregop.hh (12106:7784fac1b159) |
---|---|
1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 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 --- 50 unchanged lines hidden (view full) --- 59 // Constructor 60 RegOpBase(ExtMachInst _machInst, 61 const char *mnem, const char *_instMnem, uint64_t setFlags, 62 InstRegIndex _src1, InstRegIndex _dest, 63 uint8_t _dataSize, uint16_t _ext, 64 OpClass __opClass) : 65 X86MicroopBase(_machInst, mnem, _instMnem, setFlags, 66 __opClass), | 1/* 2 * Copyright (c) 2007 The Hewlett-Packard Development Company 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 --- 50 unchanged lines hidden (view full) --- 59 // Constructor 60 RegOpBase(ExtMachInst _machInst, 61 const char *mnem, const char *_instMnem, uint64_t setFlags, 62 InstRegIndex _src1, InstRegIndex _dest, 63 uint8_t _dataSize, uint16_t _ext, 64 OpClass __opClass) : 65 X86MicroopBase(_machInst, mnem, _instMnem, setFlags, 66 __opClass), |
67 src1(_src1.regIdx), dest(_dest.regIdx), | 67 src1(_src1.index()), dest(_dest.index()), |
68 dataSize(_dataSize), ext(_ext) 69 { 70 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 71 } 72 73 //Figure out what the condition code flags should be. 74 uint64_t genFlags(uint64_t oldFlags, uint64_t flagMask, 75 uint64_t _dest, uint64_t _src1, uint64_t _src2, --- 9 unchanged lines hidden (view full) --- 85 RegOp(ExtMachInst _machInst, 86 const char *mnem, const char *_instMnem, uint64_t setFlags, 87 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 88 uint8_t _dataSize, uint16_t _ext, 89 OpClass __opClass) : 90 RegOpBase(_machInst, mnem, _instMnem, setFlags, 91 _src1, _dest, _dataSize, _ext, 92 __opClass), | 68 dataSize(_dataSize), ext(_ext) 69 { 70 foldOBit = (dataSize == 1 && !_machInst.rex.present) ? 1 << 6 : 0; 71 } 72 73 //Figure out what the condition code flags should be. 74 uint64_t genFlags(uint64_t oldFlags, uint64_t flagMask, 75 uint64_t _dest, uint64_t _src1, uint64_t _src2, --- 9 unchanged lines hidden (view full) --- 85 RegOp(ExtMachInst _machInst, 86 const char *mnem, const char *_instMnem, uint64_t setFlags, 87 InstRegIndex _src1, InstRegIndex _src2, InstRegIndex _dest, 88 uint8_t _dataSize, uint16_t _ext, 89 OpClass __opClass) : 90 RegOpBase(_machInst, mnem, _instMnem, setFlags, 91 _src1, _dest, _dataSize, _ext, 92 __opClass), |
93 src2(_src2.regIdx) | 93 src2(_src2.index()) |
94 { 95 } 96 97 std::string generateDisassembly(Addr pc, 98 const SymbolTable *symtab) const; 99 }; 100 101 class RegOpImm : public RegOpBase --- 23 unchanged lines hidden --- | 94 { 95 } 96 97 std::string generateDisassembly(Addr pc, 98 const SymbolTable *symtab) const; 99 }; 100 101 class RegOpImm : public RegOpBase --- 23 unchanged lines hidden --- |