ldstop.isa (8442:b1f3dfae06f1) | ldstop.isa (8588:ef28ed90449d) |
---|---|
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 --- 396 unchanged lines hidden (view full) --- 405 defineMicroLoadOp('Ld', 'Data = merge(Data, Mem, dataSize);', 406 'Data = Mem & mask(dataSize * 8);') 407 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);', 408 'Data = Mem & mask(dataSize * 8);', 409 '(StoreCheck << FlagShift)') 410 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);', 411 'Data = Mem & mask(dataSize * 8);', 412 '(StoreCheck << FlagShift) | Request::LOCKED') | 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 --- 396 unchanged lines hidden (view full) --- 405 defineMicroLoadOp('Ld', 'Data = merge(Data, Mem, dataSize);', 406 'Data = Mem & mask(dataSize * 8);') 407 defineMicroLoadOp('Ldst', 'Data = merge(Data, Mem, dataSize);', 408 'Data = Mem & mask(dataSize * 8);', 409 '(StoreCheck << FlagShift)') 410 defineMicroLoadOp('Ldstl', 'Data = merge(Data, Mem, dataSize);', 411 'Data = Mem & mask(dataSize * 8);', 412 '(StoreCheck << FlagShift) | Request::LOCKED') |
413 defineMicroLoadOp('Ldfp', 'FpData.uqw = Mem;', big = False) | 413 defineMicroLoadOp('Ldfp', 'FpData_uqw = Mem;', big = False) |
414 415 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() --- 20 unchanged lines hidden (view full) --- 442 self.className = Name 443 self.mnemonic = name 444 445 microopClasses[name] = StoreOp 446 447 defineMicroStoreOp('St', 'Mem = pick(Data, 2, dataSize);') 448 defineMicroStoreOp('Stul', 'Mem = pick(Data, 2, dataSize);', 449 mem_flags="Request::LOCKED") | 414 415 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() --- 20 unchanged lines hidden (view full) --- 442 self.className = Name 443 self.mnemonic = name 444 445 microopClasses[name] = StoreOp 446 447 defineMicroStoreOp('St', 'Mem = pick(Data, 2, dataSize);') 448 defineMicroStoreOp('Stul', 'Mem = pick(Data, 2, dataSize);', 449 mem_flags="Request::LOCKED") |
450 defineMicroStoreOp('Stfp', 'Mem = FpData.uqw;') | 450 defineMicroStoreOp('Stfp', 'Mem = FpData_uqw;') |
451 defineMicroStoreOp('Cda', 'Mem = 0;', mem_flags="Request::NO_ACCESS") 452 453 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp', 454 {"code": "Data = merge(Data, EA, dataSize);", 455 "ea_code": ''' 456 EA = bits(scale * Index + Base + disp, addressSize * 8 - 1, 0); 457 '''}) 458 header_output += MicroLeaDeclare.subst(iop) --- 46 unchanged lines hidden --- | 451 defineMicroStoreOp('Cda', 'Mem = 0;', mem_flags="Request::NO_ACCESS") 452 453 iop = InstObjParams("lea", "Lea", 'X86ISA::LdStOp', 454 {"code": "Data = merge(Data, EA, dataSize);", 455 "ea_code": ''' 456 EA = bits(scale * Index + Base + disp, addressSize * 8 - 1, 0); 457 '''}) 458 header_output += MicroLeaDeclare.subst(iop) --- 46 unchanged lines hidden --- |