str.isa (8304:16911ff780d3) | str.isa (8588:ef28ed90449d) |
---|---|
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 --- 96 unchanged lines hidden (view full) --- 105 106 eaCode = "EA = SpMode + %d;" % offset 107 108 wbDiff = -8 109 if self.add: 110 wbDiff = 8 111 accCode = ''' 112 CPSR cpsr = Cpsr; | 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 --- 96 unchanged lines hidden (view full) --- 105 106 eaCode = "EA = SpMode + %d;" % offset 107 108 wbDiff = -8 109 if self.add: 110 wbDiff = 8 111 accCode = ''' 112 CPSR cpsr = Cpsr; |
113 Mem.ud = (uint64_t)cSwap(LR.uw, cpsr.e) | 114 ((uint64_t)cSwap(Spsr.uw, cpsr.e) << 32); | 113 Mem_ud = (uint64_t)cSwap(LR_uw, cpsr.e) | 114 ((uint64_t)cSwap(Spsr_uw, cpsr.e) << 32); |
115 ''' 116 117 global header_output, decoder_output, exec_output 118 119 codeBlobs = { "ea_code": eaCode, 120 "memacc_code": accCode, 121 "postacc_code": "" } 122 codeBlobs["predicate_test"] = pickPredicate(codeBlobs) --- 70 unchanged lines hidden (view full) --- 193 194 if self.flavor == "fp": 195 eaCode += vfpEnabledCheckCode 196 197 self.codeBlobs["ea_code"] = eaCode 198 199 # Code that actually handles the access 200 if self.flavor == "fp": | 115 ''' 116 117 global header_output, decoder_output, exec_output 118 119 codeBlobs = { "ea_code": eaCode, 120 "memacc_code": accCode, 121 "postacc_code": "" } 122 codeBlobs["predicate_test"] = pickPredicate(codeBlobs) --- 70 unchanged lines hidden (view full) --- 193 194 if self.flavor == "fp": 195 eaCode += vfpEnabledCheckCode 196 197 self.codeBlobs["ea_code"] = eaCode 198 199 # Code that actually handles the access 200 if self.flavor == "fp": |
201 accCode = 'Mem%(suffix)s = cSwap(FpDest.uw, ((CPSR)Cpsr).e);' | 201 accCode = 'Mem%(suffix)s = cSwap(FpDest_uw, ((CPSR)Cpsr).e);' |
202 else: 203 accCode = \ 204 'Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);' 205 accCode = accCode % \ 206 { "suffix" : buildMemSuffix(self.sign, self.size) } 207 208 self.codeBlobs["memacc_code"] = accCode 209 --- 58 unchanged lines hidden (view full) --- 268 if self.flavor == "fp": 269 eaCode += vfpEnabledCheckCode 270 271 self.codeBlobs["ea_code"] = eaCode 272 273 # Code that actually handles the access 274 if self.flavor == "fp": 275 accCode = ''' | 202 else: 203 accCode = \ 204 'Mem%(suffix)s = cSwap(Dest%(suffix)s, ((CPSR)Cpsr).e);' 205 accCode = accCode % \ 206 { "suffix" : buildMemSuffix(self.sign, self.size) } 207 208 self.codeBlobs["memacc_code"] = accCode 209 --- 58 unchanged lines hidden (view full) --- 268 if self.flavor == "fp": 269 eaCode += vfpEnabledCheckCode 270 271 self.codeBlobs["ea_code"] = eaCode 272 273 # Code that actually handles the access 274 if self.flavor == "fp": 275 accCode = ''' |
276 uint64_t swappedMem = (uint64_t)FpDest.uw | 277 ((uint64_t)FpDest2.uw << 32); 278 Mem.ud = cSwap(swappedMem, ((CPSR)Cpsr).e); | 276 uint64_t swappedMem = (uint64_t)FpDest_uw | 277 ((uint64_t)FpDest2_uw << 32); 278 Mem_ud = cSwap(swappedMem, ((CPSR)Cpsr).e); |
279 ''' 280 else: 281 accCode = ''' 282 CPSR cpsr = Cpsr; | 279 ''' 280 else: 281 accCode = ''' 282 CPSR cpsr = Cpsr; |
283 Mem.ud = (uint64_t)cSwap(Dest.uw, cpsr.e) | 284 ((uint64_t)cSwap(Dest2.uw, cpsr.e) << 32); | 283 Mem_ud = (uint64_t)cSwap(Dest_uw, cpsr.e) | 284 ((uint64_t)cSwap(Dest2_uw, cpsr.e) << 32); |
285 ''' 286 287 self.codeBlobs["memacc_code"] = accCode 288 289 # Push it out to the output files 290 base = buildMemBase(self.basePrefix, self.post, self.writeback) 291 wbDecl = None 292 if self.writeback: --- 92 unchanged lines hidden --- | 285 ''' 286 287 self.codeBlobs["memacc_code"] = accCode 288 289 # Push it out to the output files 290 base = buildMemBase(self.basePrefix, self.post, self.writeback) 291 wbDecl = None 292 if self.writeback: --- 92 unchanged lines hidden --- |