neon64.isa (10037:5cac77888310) | neon64.isa (10196:be0e1724eb39) |
---|---|
1// -*- mode: c++ -*- 2 3// Copyright (c) 2012-2013 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 --- 153 unchanged lines hidden (view full) --- 162 163 %(BasicExecDeclare)s 164}; 165}}; 166 167def template NeonXExecDeclare {{ 168 template 169 Fault %(class_name)s<%(targs)s>::execute( | 1// -*- mode: c++ -*- 2 3// Copyright (c) 2012-2013 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 --- 153 unchanged lines hidden (view full) --- 162 163 %(BasicExecDeclare)s 164}; 165}}; 166 167def template NeonXExecDeclare {{ 168 template 169 Fault %(class_name)s<%(targs)s>::execute( |
170 %(CPU_exec_context)s *, Trace::InstRecord *) const; | 170 CPU_EXEC_CONTEXT *, Trace::InstRecord *) const; |
171}}; 172 173def template NeonXEqualRegOpExecute {{ 174 template <class Element> | 171}}; 172 173def template NeonXEqualRegOpExecute {{ 174 template <class Element> |
175 Fault %(class_name)s<Element>::execute(%(CPU_exec_context)s *xc, | 175 Fault %(class_name)s<Element>::execute(CPU_EXEC_CONTEXT *xc, |
176 Trace::InstRecord *traceData) const 177 { 178 Fault fault = NoFault; 179 %(op_decl)s; 180 %(op_rd)s; 181 182 const unsigned rCount = %(r_count)d; 183 const unsigned eCount = rCount * sizeof(FloatRegBits) / sizeof(Element); --- 16 unchanged lines hidden (view full) --- 200 } 201 202 return fault; 203 } 204}}; 205 206def template NeonXUnequalRegOpExecute {{ 207 template <class Element> | 176 Trace::InstRecord *traceData) const 177 { 178 Fault fault = NoFault; 179 %(op_decl)s; 180 %(op_rd)s; 181 182 const unsigned rCount = %(r_count)d; 183 const unsigned eCount = rCount * sizeof(FloatRegBits) / sizeof(Element); --- 16 unchanged lines hidden (view full) --- 200 } 201 202 return fault; 203 } 204}}; 205 206def template NeonXUnequalRegOpExecute {{ 207 template <class Element> |
208 Fault %(class_name)s<Element>::execute(%(CPU_exec_context)s *xc, | 208 Fault %(class_name)s<Element>::execute(CPU_EXEC_CONTEXT *xc, |
209 Trace::InstRecord *traceData) const 210 { 211 typedef typename bigger_type_t<Element>::type BigElement; 212 Fault fault = NoFault; 213 %(op_decl)s; 214 %(op_rd)s; 215 216 const unsigned rCount = %(r_count)d; --- 53 unchanged lines hidden (view full) --- 270 %(BasicExecDeclare)s 271 %(InitiateAccDeclare)s 272 %(CompleteAccDeclare)s 273 }; 274}}; 275 276def template NeonLoadExecute64 {{ 277 Fault %(class_name)s::execute( | 209 Trace::InstRecord *traceData) const 210 { 211 typedef typename bigger_type_t<Element>::type BigElement; 212 Fault fault = NoFault; 213 %(op_decl)s; 214 %(op_rd)s; 215 216 const unsigned rCount = %(r_count)d; --- 53 unchanged lines hidden (view full) --- 270 %(BasicExecDeclare)s 271 %(InitiateAccDeclare)s 272 %(CompleteAccDeclare)s 273 }; 274}}; 275 276def template NeonLoadExecute64 {{ 277 Fault %(class_name)s::execute( |
278 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 278 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
279 { 280 Addr EA; 281 Fault fault = NoFault; 282 283 %(op_decl)s; 284 %(mem_decl)s; 285 %(op_rd)s; 286 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 298 } 299 300 return fault; 301 } 302}}; 303 304def template NeonLoadInitiateAcc64 {{ 305 Fault %(class_name)s::initiateAcc( | 279 { 280 Addr EA; 281 Fault fault = NoFault; 282 283 %(op_decl)s; 284 %(mem_decl)s; 285 %(op_rd)s; 286 %(ea_code)s; --- 11 unchanged lines hidden (view full) --- 298 } 299 300 return fault; 301 } 302}}; 303 304def template NeonLoadInitiateAcc64 {{ 305 Fault %(class_name)s::initiateAcc( |
306 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 306 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
307 { 308 Addr EA; 309 Fault fault = NoFault; 310 311 %(op_decl)s; 312 %(mem_decl)s; 313 %(op_rd)s; 314 %(ea_code)s; --- 6 unchanged lines hidden (view full) --- 321 } 322 323 return fault; 324 } 325}}; 326 327def template NeonLoadCompleteAcc64 {{ 328 Fault %(class_name)s::completeAcc( | 307 { 308 Addr EA; 309 Fault fault = NoFault; 310 311 %(op_decl)s; 312 %(mem_decl)s; 313 %(op_rd)s; 314 %(ea_code)s; --- 6 unchanged lines hidden (view full) --- 321 } 322 323 return fault; 324 } 325}}; 326 327def template NeonLoadCompleteAcc64 {{ 328 Fault %(class_name)s::completeAcc( |
329 PacketPtr pkt, %(CPU_exec_context)s *xc, | 329 PacketPtr pkt, CPU_EXEC_CONTEXT *xc, |
330 Trace::InstRecord *traceData) const 331 { 332 Fault fault = NoFault; 333 334 %(mem_decl)s; 335 %(op_decl)s; 336 %(op_rd)s; 337 --- 8 unchanged lines hidden (view full) --- 346 } 347 348 return fault; 349 } 350}}; 351 352def template NeonStoreExecute64 {{ 353 Fault %(class_name)s::execute( | 330 Trace::InstRecord *traceData) const 331 { 332 Fault fault = NoFault; 333 334 %(mem_decl)s; 335 %(op_decl)s; 336 %(op_rd)s; 337 --- 8 unchanged lines hidden (view full) --- 346 } 347 348 return fault; 349 } 350}}; 351 352def template NeonStoreExecute64 {{ 353 Fault %(class_name)s::execute( |
354 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 354 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
355 { 356 Addr EA; 357 Fault fault = NoFault; 358 359 %(op_decl)s; 360 %(mem_decl)s; 361 %(op_rd)s; 362 %(ea_code)s; --- 15 unchanged lines hidden (view full) --- 378 } 379 380 return fault; 381 } 382}}; 383 384def template NeonStoreInitiateAcc64 {{ 385 Fault %(class_name)s::initiateAcc( | 355 { 356 Addr EA; 357 Fault fault = NoFault; 358 359 %(op_decl)s; 360 %(mem_decl)s; 361 %(op_rd)s; 362 %(ea_code)s; --- 15 unchanged lines hidden (view full) --- 378 } 379 380 return fault; 381 } 382}}; 383 384def template NeonStoreInitiateAcc64 {{ 385 Fault %(class_name)s::initiateAcc( |
386 %(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const | 386 CPU_EXEC_CONTEXT *xc, Trace::InstRecord *traceData) const |
387 { 388 Addr EA; 389 Fault fault = NoFault; 390 391 %(op_decl)s; 392 %(mem_decl)s; 393 %(op_rd)s; 394 %(ea_code)s; --- 9 unchanged lines hidden (view full) --- 404 } 405 406 return fault; 407 } 408}}; 409 410def template NeonStoreCompleteAcc64 {{ 411 Fault %(class_name)s::completeAcc( | 387 { 388 Addr EA; 389 Fault fault = NoFault; 390 391 %(op_decl)s; 392 %(mem_decl)s; 393 %(op_rd)s; 394 %(ea_code)s; --- 9 unchanged lines hidden (view full) --- 404 } 405 406 return fault; 407 } 408}}; 409 410def template NeonStoreCompleteAcc64 {{ 411 Fault %(class_name)s::completeAcc( |
412 PacketPtr pkt, %(CPU_exec_context)s *xc, | 412 PacketPtr pkt, CPU_EXEC_CONTEXT *xc, |
413 Trace::InstRecord *traceData) const 414 { 415 return NoFault; 416 } 417}}; 418 419def template VMemMultDeclare64 {{ 420 class %(class_name)s : public %(base_class)s --- 81 unchanged lines hidden (view full) --- 502 %(constructor)s; 503 } 504 505 %(BasicExecDeclare)s 506 }; 507}}; 508 509def template MicroNeonMixExecute64 {{ | 413 Trace::InstRecord *traceData) const 414 { 415 return NoFault; 416 } 417}}; 418 419def template VMemMultDeclare64 {{ 420 class %(class_name)s : public %(base_class)s --- 81 unchanged lines hidden (view full) --- 502 %(constructor)s; 503 } 504 505 %(BasicExecDeclare)s 506 }; 507}}; 508 509def template MicroNeonMixExecute64 {{ |
510 Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, | 510 Fault %(class_name)s::execute(CPU_EXEC_CONTEXT *xc, |
511 Trace::InstRecord *traceData) const 512 { 513 Fault fault = NoFault; 514 uint64_t resTemp = 0; 515 resTemp = resTemp; 516 %(op_decl)s; 517 %(op_rd)s; 518 519 %(code)s; 520 if (fault == NoFault) 521 { 522 %(op_wb)s; 523 } 524 525 return fault; 526 } 527}}; | 511 Trace::InstRecord *traceData) const 512 { 513 Fault fault = NoFault; 514 uint64_t resTemp = 0; 515 resTemp = resTemp; 516 %(op_decl)s; 517 %(op_rd)s; 518 519 %(code)s; 520 if (fault == NoFault) 521 { 522 %(op_wb)s; 523 } 524 525 return fault; 526 } 527}}; |