31 #ifndef __ARCH_POWER_INSTS_INTEGER_HH__
32 #define __ARCH_POWER_INSTS_INTEGER_HH__
75 if (a < b) { c += 0x8; }
76 else if (a > b) { c += 0x4; }
88 if (a < b) { c += 0x8; }
89 else if (a > b) { c += 0x4; }
110 :
IntOp(mnem, _machInst, __opClass),
131 :
IntOp(mnem, _machInst, __opClass),
167 uint32_t
n = shift & 31;
168 return (rs << n) | (rs >> (32 -
n));
176 #endif //__ARCH_POWER_INSTS_INTEGER_HH__
uint32_t makeCRField(uint32_t a, uint32_t b, uint32_t xerSO) const
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
IntImmOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
uint32_t rotateValue(uint32_t rs, uint32_t shift) const
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
const ExtMachInst machInst
The binary machine instruction.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
IntShiftOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
IntOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
We provide a base class for integer operations and then inherit for several other classes...
uint32_t makeCRField(int32_t a, int32_t b, uint32_t xerSO) const
Class for integer rotate operations.
IntRotateOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
Class for integer immediate (signed and unsigned) operations.
Class for integer operations with a shift.