str.isa (7345:4e7dc0c3f148) str.isa (7404:bfc74724914e)
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

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

102 else:
103 accCode = '''
104 Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);
105 ''' % { "suffix" : buildMemSuffix(sign, size) }
106 if writeback:
107 accCode += "Base = Base %s;\n" % offset
108
109 memFlags = ["ArmISA::TLB::MustBeOne", "%d" % (size - 1)]
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

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

102 else:
103 accCode = '''
104 Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);
105 ''' % { "suffix" : buildMemSuffix(sign, size) }
106 if writeback:
107 accCode += "Base = Base %s;\n" % offset
108
109 memFlags = ["ArmISA::TLB::MustBeOne", "%d" % (size - 1)]
110 if user:
111 memFlags.append("ArmISA::TLB::UserMode")
112
110 if strex:
111 memFlags.append("Request::LLSC")
112 Name = "%s_%s" % (mnem.upper(), Name)
113 base = buildMemBase("MemoryExImm", post, writeback)
114 postAccCode = "Result = !writeResult;"
115 execTemplateBase = 'StoreEx'
116 else:
117 if vstr:

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

179 eaCode += ";"
180
181 accCode = "Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);" % \
182 { "suffix" : buildMemSuffix(sign, size) }
183 if writeback:
184 accCode += "Base = Base %s;\n" % offset
185 base = buildMemBase("MemoryReg", post, writeback)
186
113 if strex:
114 memFlags.append("Request::LLSC")
115 Name = "%s_%s" % (mnem.upper(), Name)
116 base = buildMemBase("MemoryExImm", post, writeback)
117 postAccCode = "Result = !writeResult;"
118 execTemplateBase = 'StoreEx'
119 else:
120 if vstr:

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

182 eaCode += ";"
183
184 accCode = "Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);" % \
185 { "suffix" : buildMemSuffix(sign, size) }
186 if writeback:
187 accCode += "Base = Base %s;\n" % offset
188 base = buildMemBase("MemoryReg", post, writeback)
189
187 emitStore(name, Name, False, eaCode, accCode, "",\
188 ["ArmISA::TLB::MustBeOne", \
190 memFlags = ["ArmISA::TLB::MustBeOne", \
189 "ArmISA::TLB::AllowUnaligned", \
191 "ArmISA::TLB::AllowUnaligned", \
190 "%d" % (size - 1)], [], base)
192 "%d" % (size - 1)]
193 if user:
194 memFlags.append("ArmISA::TLB::UserMode")
191
195
196 emitStore(name, Name, False, eaCode, accCode, "",\
197 memFlags, [], base)
198
192 def buildDoubleImmStore(mnem, post, add, writeback, \
193 strex=False, vstr=False):
194 name = mnem
195 Name = storeDoubleImmClassName(post, add, writeback)
196
197 if add:
198 op = " +"
199 else:

--- 128 unchanged lines hidden ---
199 def buildDoubleImmStore(mnem, post, add, writeback, \
200 strex=False, vstr=False):
201 name = mnem
202 Name = storeDoubleImmClassName(post, add, writeback)
203
204 if add:
205 op = " +"
206 else:

--- 128 unchanged lines hidden ---