pred_inst.hh (7110:7d27bd3e7ffb) pred_inst.hh (7137:c5f593f9430b)
1/*
2 * Copyright (c) 2010 ARM Limited
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

--- 141 unchanged lines hidden (view full) ---

150 PredOp(mnem, _machInst, __opClass),
151 shift_size(machInst.shiftSize), shift(machInst.shift)
152 {
153 }
154
155 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
156};
157
1/*
2 * Copyright (c) 2010 ARM Limited
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

--- 141 unchanged lines hidden (view full) ---

150 PredOp(mnem, _machInst, __opClass),
151 shift_size(machInst.shiftSize), shift(machInst.shift)
152 {
153 }
154
155 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
156};
157
158class DataImmOp : public PredOp
159{
160 protected:
161 IntRegIndex dest, op1;
162 uint32_t imm;
163 // Whether the carry flag should be modified if that's an option for
164 // this instruction.
165 bool rotC;
166
167 DataImmOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
168 IntRegIndex _dest, IntRegIndex _op1, uint32_t _imm, bool _rotC) :
169 PredOp(mnem, _machInst, __opClass),
170 dest(_dest), op1(_op1), imm(_imm), rotC(_rotC)
171 {}
172};
173
174class DataRegOp : public PredOp
175{
176 protected:
177 IntRegIndex dest, op1, op2;
178 int32_t shiftAmt;
179 ArmShiftType shiftType;
180
181 DataRegOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
182 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
183 int32_t _shiftAmt, ArmShiftType _shiftType) :
184 PredOp(mnem, _machInst, __opClass),
185 dest(_dest), op1(_op1), op2(_op2),
186 shiftAmt(_shiftAmt), shiftType(_shiftType)
187 {}
188};
189
190class DataRegRegOp : public PredOp
191{
192 protected:
193 IntRegIndex dest, op1, op2, shift;
194 ArmShiftType shiftType;
195
196 DataRegRegOp(const char *mnem, ExtMachInst _machInst, OpClass __opClass,
197 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
198 IntRegIndex _shift, ArmShiftType _shiftType) :
199 PredOp(mnem, _machInst, __opClass),
200 dest(_dest), op1(_op1), op2(_op2), shift(_shift),
201 shiftType(_shiftType)
202 {}
203};
204
158/**
159 * Base class for predicated macro-operations.
160 */
161class PredMacroOp : public PredOp
162{
163 protected:
164
165 uint32_t numMicroops;

--- 44 unchanged lines hidden ---
205/**
206 * Base class for predicated macro-operations.
207 */
208class PredMacroOp : public PredOp
209{
210 protected:
211
212 uint32_t numMicroops;

--- 44 unchanged lines hidden ---