mem.isa (8301:858384f3af1c) mem.isa (8303:5a95f1d2494e)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

114 decoder_output += self.constructTemplate.subst(iop)
115 exec_output += PanicExecute.subst(iop) + \
116 PanicInitiateAcc.subst(iop) + \
117 PanicCompleteAcc.subst(iop)
118
119 return (header_output, decoder_output, exec_output)
120
121 def pickPredicate(blobs):
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

114 decoder_output += self.constructTemplate.subst(iop)
115 exec_output += PanicExecute.subst(iop) + \
116 PanicInitiateAcc.subst(iop) + \
117 PanicCompleteAcc.subst(iop)
118
119 return (header_output, decoder_output, exec_output)
120
121 def pickPredicate(blobs):
122 opt_nz = True
123 opt_c = True
124 opt_v = True
122 for val in blobs.values():
125 for val in blobs.values():
123 if re.search('(?<!Opt)CondCodesF', val):
124 return condPredicateTest
125 return predicateTest
126 if re.search('(?<!Opt)CondCodesNZ', val):
127 opt_nz = False
128 if re.search('(?<!Opt)CondCodesC', val):
129 opt_c = False
130 if re.search('(?<!Opt)CondCodesV', val):
131 opt_v = False
126
132
133 # Build up the predicate piece by piece depending on which
134 # flags the instruction needs
135 predicate = 'testPredicate('
136 if opt_nz:
137 predicate += 'OptCondCodesNZ, '
138 else:
139 predicate += 'CondCodesNZ, '
140 if opt_c:
141 predicate += 'OptCondCodesC, '
142 else:
143 predicate += 'CondCodesC, '
144 if opt_v:
145 predicate += 'OptCondCodesV, '
146 else:
147 predicate += 'CondCodesV, '
148 predicate += 'condCode)'
149
150 return predicate
151
127 def memClassName(base, post, add, writeback, \
128 size=4, sign=False, user=False):
129 Name = base
130
131 parts = { "P" : post, "A" : add, "W" : writeback,
132 "S" : sign, "U" : user }
133
134 for (letter, val) in parts.items():

--- 39 unchanged lines hidden ---
152 def memClassName(base, post, add, writeback, \
153 size=4, sign=False, user=False):
154 Name = base
155
156 parts = { "P" : post, "A" : add, "W" : writeback,
157 "S" : sign, "U" : user }
158
159 for (letter, val) in parts.items():

--- 39 unchanged lines hidden ---