ldstop.isa (8103:53c2d9b1c15d) ldstop.isa (8432:4a0c9c9409e4)
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

172
173 %(code)s;
174
175 if(fault == NoFault)
176 {
177 fault = write(xc, Mem, EA, memFlags);
178 if(fault == NoFault)
179 {
1// Copyright (c) 2007-2008 The Hewlett-Packard Development Company
2// All rights reserved.
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

172
173 %(code)s;
174
175 if(fault == NoFault)
176 {
177 fault = write(xc, Mem, EA, memFlags);
178 if(fault == NoFault)
179 {
180 %(post_code)s;
181 %(op_wb)s;
182 }
183 }
184
185 return fault;
186 }
187}};
188

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

406 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);',
407 'Data = Mem & mask(dataSize * 8);',
408 '(StoreCheck << FlagShift)')
409 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);',
410 'Data = Mem & mask(dataSize * 8);',
411 '(StoreCheck << FlagShift) | Request::LOCKED')
412 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;', big = False)
413
180 %(op_wb)s;
181 }
182 }
183
184 return fault;
185 }
186}};
187

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

405 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);',
406 'Data = Mem & mask(dataSize * 8);',
407 '(StoreCheck << FlagShift)')
408 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);',
409 'Data = Mem & mask(dataSize * 8);',
410 '(StoreCheck << FlagShift) | Request::LOCKED')
411 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;', big = False)
412
414 def defineMicroStoreOp(mnemonic, code, \
415 postCode="", completeCode="", mem_flags="0"):
413 def defineMicroStoreOp(mnemonic, code, completeCode="", mem_flags="0"):
416 global header_output
417 global decoder_output
418 global exec_output
419 global microopClasses
420 Name = mnemonic
421 name = mnemonic.lower()
422
423 # Build up the all register version of this micro op
424 iop = InstObjParams(name, Name, 'X86ISA::LdStOp',
425 {"code": code,
414 global header_output
415 global decoder_output
416 global exec_output
417 global microopClasses
418 Name = mnemonic
419 name = mnemonic.lower()
420
421 # Build up the all register version of this micro op
422 iop = InstObjParams(name, Name, 'X86ISA::LdStOp',
423 {"code": code,
426 "post_code": postCode,
427 "complete_code": completeCode,
428 "ea_code": calculateEA})
429 header_output += MicroLdStOpDeclare.subst(iop)
430 decoder_output += MicroLdStOpConstructor.subst(iop)
431 exec_output += MicroStoreExecute.subst(iop)
432 exec_output += MicroStoreInitiateAcc.subst(iop)
433 exec_output += MicroStoreCompleteAcc.subst(iop)
434

--- 71 unchanged lines hidden ---
424 "complete_code": completeCode,
425 "ea_code": calculateEA})
426 header_output += MicroLdStOpDeclare.subst(iop)
427 decoder_output += MicroLdStOpConstructor.subst(iop)
428 exec_output += MicroStoreExecute.subst(iop)
429 exec_output += MicroStoreInitiateAcc.subst(iop)
430 exec_output += MicroStoreCompleteAcc.subst(iop)
431

--- 71 unchanged lines hidden ---