swap.isa (12234:78ece221f9f5) swap.isa (12385:288c62455dde)
1// Copyright (c) 2007 The Regents of The University of Michigan
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

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

159 header_output = MemDeclare.subst(iop)
160 decoder_output = BasicConstructor.subst(iop)
161 decode_block = BasicDecode.subst(iop)
162 microParams = {"code": code, "postacc_code" : postacc_code,
163 "ea_code" : addrCalcReg, "fault_check" : faultCode,
164 "EA_trunc" : TruncateEA}
165 exec_output = doSplitExecute(execute, name, Name, mem_flags,
166 ["IsStoreConditional"], microParams);
1// Copyright (c) 2007 The Regents of The University of Michigan
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

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

159 header_output = MemDeclare.subst(iop)
160 decoder_output = BasicConstructor.subst(iop)
161 decode_block = BasicDecode.subst(iop)
162 microParams = {"code": code, "postacc_code" : postacc_code,
163 "ea_code" : addrCalcReg, "fault_check" : faultCode,
164 "EA_trunc" : TruncateEA}
165 exec_output = doSplitExecute(execute, name, Name, mem_flags,
166 ["IsStoreConditional"], microParams);
167 return (header_output, decoder_output, exec_output + EACompExecute.subst(iop), decode_block)
167 return (header_output, decoder_output, exec_output, decode_block)
168}};
169
170
171def format CasAlt(code, postacc_code, mem_flags, *opt_flags) {{
172 mem_flags = makeList(mem_flags)
173 mem_flags = [ 'Request::%s' % flag for flag in mem_flags ]
174 mem_flags.append("EXT_ASI")
175 flags = string.join(mem_flags, '|')
176 (header_output,
177 decoder_output,
178 exec_output,
179 decode_block) = doCasFormat(code, SwapFuncs, AlternateASIPrivFaultCheck,
180 name, Name, flags, ["IsStoreConditional"], postacc_code)
181}};
182
183
168}};
169
170
171def format CasAlt(code, postacc_code, mem_flags, *opt_flags) {{
172 mem_flags = makeList(mem_flags)
173 mem_flags = [ 'Request::%s' % flag for flag in mem_flags ]
174 mem_flags.append("EXT_ASI")
175 flags = string.join(mem_flags, '|')
176 (header_output,
177 decoder_output,
178 exec_output,
179 decode_block) = doCasFormat(code, SwapFuncs, AlternateASIPrivFaultCheck,
180 name, Name, flags, ["IsStoreConditional"], postacc_code)
181}};
182
183