Deleted Added
sdiff udiff text old ( 12359:8fb4630c444f ) new ( 12616:4b463b4dc098 )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2011-2014, 2017 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

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

254 class %(class_name)s : public %(base_class)s
255 {
256 public:
257
258 /// Constructor.
259 %(class_name)s(ExtMachInst machInst, IntRegIndex _base,
260 MiscRegIndex _dest, uint64_t _imm);
261
262 Fault execute(ExecContext *, Trace::InstRecord *) const;
263 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
264 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
265
266 virtual void
267 annotateFault(ArmFault *fault) {
268 %(fa_code)s
269 }
270 };
271}};
272
273def template DCStore64Constructor {{
274 %(class_name)s::%(class_name)s(ExtMachInst machInst, IntRegIndex _base,
275 MiscRegIndex _dest, uint64_t _imm)

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

337 class %(class_name)s : public %(base_class)s
338 {
339 public:
340
341 /// Constructor.
342 %(class_name)s(ExtMachInst machInst,
343 IntRegIndex _dest, IntRegIndex _base, int64_t _imm);
344
345 Fault execute(ExecContext *, Trace::InstRecord *) const;
346 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
347 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
348
349 virtual void
350 annotateFault(ArmFault *fault) {
351 %(fa_code)s
352 }
353 };
354}};
355
356def template LoadStoreImmU64Declare {{
357 class %(class_name)s : public %(base_class)s
358 {
359 public:
360
361 /// Constructor.
362 %(class_name)s(ExtMachInst machInst,
363 IntRegIndex _dest, IntRegIndex _base, int64_t _imm,
364 bool noAlloc = false, bool exclusive = false,
365 bool acrel = false);
366
367 Fault execute(ExecContext *, Trace::InstRecord *) const;
368 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
369 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
370
371 virtual void
372 annotateFault(ArmFault *fault) {
373 %(fa_code)s
374 }
375 };
376}};
377
378def template LoadStoreImmDU64Declare {{
379 class %(class_name)s : public %(base_class)s
380 {
381 public:
382
383 /// Constructor.
384 %(class_name)s(ExtMachInst machInst,
385 IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base,
386 int64_t _imm = 0, bool noAlloc = false, bool exclusive = false,
387 bool acrel = false);
388
389 Fault execute(ExecContext *, Trace::InstRecord *) const;
390 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
391 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
392
393 virtual void
394 annotateFault(ArmFault *fault) {
395 %(fa_code)s
396 }
397 };
398}};
399
400def template StoreImmDEx64Declare {{
401 /**
402 * Static instruction class for "%(mnemonic)s".
403 */
404 class %(class_name)s : public %(base_class)s
405 {
406 public:
407
408 /// Constructor.
409 %(class_name)s(ExtMachInst machInst,
410 IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2,
411 IntRegIndex _base, int64_t _imm = 0);
412
413 Fault execute(ExecContext *, Trace::InstRecord *) const;
414 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
415 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
416 };
417}};
418
419
420def template LoadStoreReg64Declare {{
421 class %(class_name)s : public %(base_class)s
422 {
423 public:
424
425 /// Constructor.
426 %(class_name)s(ExtMachInst machInst,
427 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset,
428 ArmExtendType _type, uint32_t _shiftAmt);
429
430 Fault execute(ExecContext *, Trace::InstRecord *) const;
431 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
432 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
433
434 virtual void
435 annotateFault(ArmFault *fault) {
436 %(fa_code)s
437 }
438 };
439}};
440
441def template LoadStoreRegU64Declare {{
442 class %(class_name)s : public %(base_class)s
443 {
444 public:
445
446 /// Constructor.
447 %(class_name)s(ExtMachInst machInst,
448 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset,
449 ArmExtendType _type, uint32_t _shiftAmt,
450 bool noAlloc = false, bool exclusive = false,
451 bool acrel = false);
452
453 Fault execute(ExecContext *, Trace::InstRecord *) const;
454 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
455 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
456
457 virtual void
458 annotateFault(ArmFault *fault) {
459 %(fa_code)s
460 }
461 };
462}};
463
464def template LoadStoreRaw64Declare {{
465 class %(class_name)s : public %(base_class)s
466 {
467 public:
468
469 /// Constructor.
470 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
471 IntRegIndex _base);
472
473 Fault execute(ExecContext *, Trace::InstRecord *) const;
474 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
475 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
476
477 virtual void
478 annotateFault(ArmFault *fault) {
479 %(fa_code)s
480 }
481 };
482}};
483
484def template LoadStoreEx64Declare {{
485 class %(class_name)s : public %(base_class)s
486 {
487 public:
488
489 /// Constructor.
490 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
491 IntRegIndex _base, IntRegIndex _result);
492
493 Fault execute(ExecContext *, Trace::InstRecord *) const;
494 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
495 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
496
497 virtual void
498 annotateFault(ArmFault *fault) {
499 %(fa_code)s
500 }
501 };
502}};
503
504def template LoadStoreLit64Declare {{
505 class %(class_name)s : public %(base_class)s
506 {
507 public:
508
509 /// Constructor.
510 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, int64_t _imm);
511
512 Fault execute(ExecContext *, Trace::InstRecord *) const;
513 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
514 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
515
516 virtual void
517 annotateFault(ArmFault *fault) {
518 %(fa_code)s
519 }
520 };
521}};
522
523def template LoadStoreLitU64Declare {{
524 class %(class_name)s : public %(base_class)s
525 {
526 public:
527
528 /// Constructor.
529 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, int64_t _imm,
530 bool noAlloc = false, bool exclusive = false,
531 bool acrel = false);
532
533 Fault execute(ExecContext *, Trace::InstRecord *) const;
534 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
535 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
536
537 virtual void
538 annotateFault(ArmFault *fault) {
539 %(fa_code)s
540 }
541 };
542}};
543
544def template LoadStoreImm64Constructor {{
545 %(class_name)s::%(class_name)s(ExtMachInst machInst,
546 IntRegIndex _dest, IntRegIndex _base, int64_t _imm)

--- 140 unchanged lines hidden ---