pred_inst.hh (6253:988a001820f8) pred_inst.hh (6264:588457e03a81)
1/* Copyright (c) 2007-2008 The Florida State University
2 * All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

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

77 PredOp(mnem, _machInst, __opClass),
78 imm(machInst.imm), rotate(machInst.rotate << 1),
79 rotated_imm(0), rotated_carry(0)
80 {
81 rotated_imm = rotate_imm(imm, rotate);
82 if (rotate != 0)
83 rotated_carry = (rotated_imm >> 31) & 1;
84 }
1/* Copyright (c) 2007-2008 The Florida State University
2 * All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

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

77 PredOp(mnem, _machInst, __opClass),
78 imm(machInst.imm), rotate(machInst.rotate << 1),
79 rotated_imm(0), rotated_carry(0)
80 {
81 rotated_imm = rotate_imm(imm, rotate);
82 if (rotate != 0)
83 rotated_carry = (rotated_imm >> 31) & 1;
84 }
85
86 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
87};
88
89/**
90 * Base class for predicated integer operations.
91 */
92class PredIntOp : public PredOp
93{
94 protected:
95
96 uint32_t shift_size;
97 uint32_t shift;
98
99 /// Constructor
100 PredIntOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
101 PredOp(mnem, _machInst, __opClass),
102 shift_size(machInst.shiftSize), shift(machInst.shift)
103 {
104 }
85};
86
87/**
88 * Base class for predicated integer operations.
89 */
90class PredIntOp : public PredOp
91{
92 protected:
93
94 uint32_t shift_size;
95 uint32_t shift;
96
97 /// Constructor
98 PredIntOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
99 PredOp(mnem, _machInst, __opClass),
100 shift_size(machInst.shiftSize), shift(machInst.shift)
101 {
102 }
105
106 std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
107};
108
109/**
110 * Base class for predicated macro-operations.
111 */
112class PredMacroOp : public PredOp
113{
114 protected:

--- 46 unchanged lines hidden ---
103};
104
105/**
106 * Base class for predicated macro-operations.
107 */
108class PredMacroOp : public PredOp
109{
110 protected:

--- 46 unchanged lines hidden ---