limmop.isa (5788:6d4161a36ca1) limmop.isa (6345:f9ae7c3a036c)
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

83
84 std::string generateDisassembly(Addr pc,
85 const SymbolTable *symtab) const;
86
87 public:
88 %(class_name)s(ExtMachInst _machInst,
89 const char * instMnem,
90 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
1// Copyright (c) 2007 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// Redistribution and use of this software in source and binary forms,
5// with or without modification, are permitted provided that the
6// following conditions are met:
7//
8// The software must be used only for Non-Commercial Use which means any

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

83
84 std::string generateDisassembly(Addr pc,
85 const SymbolTable *symtab) const;
86
87 public:
88 %(class_name)s(ExtMachInst _machInst,
89 const char * instMnem,
90 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
91 RegIndex _dest, uint64_t _imm, uint8_t _dataSize);
91 InstRegIndex _dest, uint64_t _imm, uint8_t _dataSize);
92
93 %(class_name)s(ExtMachInst _machInst,
94 const char * instMnem,
92
93 %(class_name)s(ExtMachInst _machInst,
94 const char * instMnem,
95 RegIndex _dest, uint64_t _imm, uint8_t _dataSize);
95 InstRegIndex _dest, uint64_t _imm, uint8_t _dataSize);
96
97 %(BasicExecDeclare)s
98 };
99}};
100
101def template MicroLimmOpDisassembly {{
102 std::string %(class_name)s::generateDisassembly(Addr pc,
103 const SymbolTable *symtab) const

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

117 inline void %(class_name)s::buildMe()
118 {
119 foldOBit = (dataSize == 1 && !machInst.rex.present) ? 1 << 6 : 0;
120 %(constructor)s;
121 }
122
123 inline %(class_name)s::%(class_name)s(
124 ExtMachInst machInst, const char * instMnem,
96
97 %(BasicExecDeclare)s
98 };
99}};
100
101def template MicroLimmOpDisassembly {{
102 std::string %(class_name)s::generateDisassembly(Addr pc,
103 const SymbolTable *symtab) const

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

117 inline void %(class_name)s::buildMe()
118 {
119 foldOBit = (dataSize == 1 && !machInst.rex.present) ? 1 << 6 : 0;
120 %(constructor)s;
121 }
122
123 inline %(class_name)s::%(class_name)s(
124 ExtMachInst machInst, const char * instMnem,
125 RegIndex _dest, uint64_t _imm, uint8_t _dataSize) :
125 InstRegIndex _dest, uint64_t _imm, uint8_t _dataSize) :
126 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
127 false, false, false, false, %(op_class)s),
126 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
127 false, false, false, false, %(op_class)s),
128 dest(_dest), imm(_imm), dataSize(_dataSize)
128 dest(_dest.idx), imm(_imm), dataSize(_dataSize)
129 {
130 buildMe();
131 }
132
133 inline %(class_name)s::%(class_name)s(
134 ExtMachInst machInst, const char * instMnem,
135 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
129 {
130 buildMe();
131 }
132
133 inline %(class_name)s::%(class_name)s(
134 ExtMachInst machInst, const char * instMnem,
135 bool isMicro, bool isDelayed, bool isFirst, bool isLast,
136 RegIndex _dest, uint64_t _imm, uint8_t _dataSize) :
136 InstRegIndex _dest, uint64_t _imm, uint8_t _dataSize) :
137 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
138 isMicro, isDelayed, isFirst, isLast, %(op_class)s),
137 %(base_class)s(machInst, "%(mnemonic)s", instMnem,
138 isMicro, isDelayed, isFirst, isLast, %(op_class)s),
139 dest(_dest), imm(_imm), dataSize(_dataSize)
139 dest(_dest.idx), imm(_imm), dataSize(_dataSize)
140 {
141 buildMe();
142 }
143}};
144
145let {{
146 class LimmOp(X86Microop):
147 def __init__(self, dest, imm, dataSize="env.dataSize"):

--- 30 unchanged lines hidden ---
140 {
141 buildMe();
142 }
143}};
144
145let {{
146 class LimmOp(X86Microop):
147 def __init__(self, dest, imm, dataSize="env.dataSize"):

--- 30 unchanged lines hidden ---