Deleted Added
sdiff udiff text old ( 6741:73d89772f409 ) new ( 7110:7d27bd3e7ffb )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer;
10// redistributions in binary form must reproduce the above copyright

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

160 icValue = 'findCarry(32, resTemp, Rn, rotated_imm)'
161 ivValue = 'findOverflow(32, resTemp, Rn, rotated_imm)'
162 elif flagtype == "sub":
163 icValue = 'findCarry(32, resTemp, Rn, ~rotated_imm)'
164 ivValue = 'findOverflow(32, resTemp, Rn, ~rotated_imm)'
165 elif flagtype == "rsb":
166 icValue = 'findCarry(32, resTemp, rotated_imm, ~Rn)'
167 ivValue = 'findOverflow(32, resTemp, rotated_imm, ~Rn)'
168 else:
169 icValue = '(rotate ? rotated_carry:CondCodes<29:>)'
170 ivValue = 'CondCodes<28:>'
171 return calcCcCode % vars()
172}};
173
174def format DataOp(code, flagtype = logic) {{
175 (regCcCode, immCcCode) = getCcCode(flagtype)

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

218 BasicDeclare.subst(ccIop)
219 decoder_output = BasicConstructor.subst(iop) + \
220 BasicConstructor.subst(ccIop)
221 exec_output = PredOpExecute.subst(iop) + \
222 PredOpExecute.subst(ccIop)
223 decode_block = DataImmDecode.subst(iop)
224}};
225
226def format PredOp(code, *opt_flags) {{
227 iop = InstObjParams(name, Name, 'PredOp',
228 {"code": code,
229 "predicate_test": predicateTest},
230 opt_flags)
231 header_output = BasicDeclare.subst(iop)
232 decoder_output = BasicConstructor.subst(iop)
233 decode_block = BasicDecode.subst(iop)

--- 55 unchanged lines hidden ---