Deleted Added
sdiff udiff text old ( 12236:126ac9da6050 ) new ( 12616:4b463b4dc098 )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010, 2012, 2014, 2016 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

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

577 class %(class_name)s : public %(base_class)s
578 {
579 public:
580
581 /// Constructor.
582 %(class_name)s(ExtMachInst machInst,
583 uint32_t _base, int _mode, bool _wb);
584
585 Fault execute(ExecContext *, Trace::InstRecord *) const override;
586 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
587 Fault completeAcc(PacketPtr, ExecContext *,
588 Trace::InstRecord *) const override;
589 };
590}};
591
592def template SrsDeclare {{
593 /**
594 * Static instruction class for "%(mnemonic)s".
595 */
596 class %(class_name)s : public %(base_class)s
597 {
598 public:
599
600 /// Constructor.
601 %(class_name)s(ExtMachInst machInst,
602 uint32_t _regMode, int _mode, bool _wb);
603
604 Fault execute(ExecContext *, Trace::InstRecord *) const override;
605 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
606 Fault completeAcc(PacketPtr, ExecContext *,
607 Trace::InstRecord *) const override;
608 };
609}};
610
611def template SwapDeclare {{
612 /**
613 * Static instruction class for "%(mnemonic)s".
614 */
615 class %(class_name)s : public %(base_class)s
616 {
617 public:
618
619 /// Constructor.
620 %(class_name)s(ExtMachInst machInst,
621 uint32_t _dest, uint32_t _op1, uint32_t _base);
622
623 Fault execute(ExecContext *, Trace::InstRecord *) const override;
624 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
625 Fault completeAcc(PacketPtr, ExecContext *,
626 Trace::InstRecord *) const override;
627 };
628}};
629
630def template LoadStoreDImmDeclare {{
631 /**
632 * Static instruction class for "%(mnemonic)s".
633 */
634 class %(class_name)s : public %(base_class)s
635 {
636 public:
637
638 /// Constructor.
639 %(class_name)s(ExtMachInst machInst,
640 uint32_t _dest, uint32_t _dest2,
641 uint32_t _base, bool _add, int32_t _imm);
642
643 Fault execute(ExecContext *, Trace::InstRecord *) const override;
644 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
645 Fault completeAcc(PacketPtr, ExecContext *,
646 Trace::InstRecord *) const override;
647 };
648}};
649
650def template StoreExDImmDeclare {{
651 /**
652 * Static instruction class for "%(mnemonic)s".
653 */
654 class %(class_name)s : public %(base_class)s
655 {
656 public:
657
658 /// Constructor.
659 %(class_name)s(ExtMachInst machInst,
660 uint32_t _result, uint32_t _dest, uint32_t _dest2,
661 uint32_t _base, bool _add, int32_t _imm);
662
663 Fault execute(ExecContext *, Trace::InstRecord *) const override;
664 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
665 Fault completeAcc(PacketPtr, ExecContext *,
666 Trace::InstRecord *) const override;
667 };
668}};
669
670def template LoadStoreImmDeclare {{
671 /**
672 * Static instruction class for "%(mnemonic)s".
673 */
674 class %(class_name)s : public %(base_class)s
675 {
676 public:
677
678 /// Constructor.
679 %(class_name)s(ExtMachInst machInst,
680 uint32_t _dest, uint32_t _base, bool _add, int32_t _imm);
681
682 Fault execute(ExecContext *, Trace::InstRecord *) const override;
683 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
684 Fault completeAcc(PacketPtr, ExecContext *,
685 Trace::InstRecord *) const override;
686
687 void
688 annotateFault(ArmFault *fault) override
689 {
690 %(fa_code)s
691 }
692 };
693}};
694
695def template StoreExImmDeclare {{
696 /**
697 * Static instruction class for "%(mnemonic)s".
698 */
699 class %(class_name)s : public %(base_class)s
700 {
701 public:
702
703 /// Constructor.
704 %(class_name)s(ExtMachInst machInst,
705 uint32_t _result, uint32_t _dest, uint32_t _base,
706 bool _add, int32_t _imm);
707
708 Fault execute(ExecContext *, Trace::InstRecord *) const override;
709 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
710 Fault completeAcc(PacketPtr, ExecContext *,
711 Trace::InstRecord *) const override;
712 };
713}};
714
715def template StoreDRegDeclare {{
716 /**
717 * Static instruction class for "%(mnemonic)s".
718 */
719 class %(class_name)s : public %(base_class)s
720 {
721 public:
722
723 /// Constructor.
724 %(class_name)s(ExtMachInst machInst,
725 uint32_t _dest, uint32_t _dest2,
726 uint32_t _base, bool _add,
727 int32_t _shiftAmt, uint32_t _shiftType,
728 uint32_t _index);
729
730 Fault execute(ExecContext *, Trace::InstRecord *) const override;
731 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
732 Fault completeAcc(PacketPtr, ExecContext *,
733 Trace::InstRecord *) const override;
734 };
735}};
736
737def template StoreRegDeclare {{
738 /**
739 * Static instruction class for "%(mnemonic)s".
740 */
741 class %(class_name)s : public %(base_class)s
742 {
743 public:
744
745 /// Constructor.
746 %(class_name)s(ExtMachInst machInst,
747 uint32_t _dest, uint32_t _base, bool _add,
748 int32_t _shiftAmt, uint32_t _shiftType,
749 uint32_t _index);
750
751 Fault execute(ExecContext *, Trace::InstRecord *) const override;
752 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
753 Fault completeAcc(PacketPtr, ExecContext *,
754 Trace::InstRecord *) const override;
755
756 void
757 annotateFault(ArmFault *fault) override
758 {
759 %(fa_code)s
760 }
761 };
762}};
763
764def template LoadDRegDeclare {{
765 /**
766 * Static instruction class for "%(mnemonic)s".

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

771
772 /// Constructor.
773 %(class_name)s(ExtMachInst machInst,
774 uint32_t _dest, uint32_t _dest2,
775 uint32_t _base, bool _add,
776 int32_t _shiftAmt, uint32_t _shiftType,
777 uint32_t _index);
778
779 Fault execute(ExecContext *, Trace::InstRecord *) const override;
780 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
781 Fault completeAcc(PacketPtr, ExecContext *,
782 Trace::InstRecord *) const override;
783 };
784}};
785
786def template LoadRegDeclare {{
787 /**
788 * Static instruction class for "%(mnemonic)s".
789 */
790 class %(class_name)s : public %(base_class)s
791 {
792 public:
793
794 /// Constructor.
795 %(class_name)s(ExtMachInst machInst,
796 uint32_t _dest, uint32_t _base, bool _add,
797 int32_t _shiftAmt, uint32_t _shiftType,
798 uint32_t _index);
799
800 Fault execute(ExecContext *, Trace::InstRecord *) const override;
801 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
802 Fault completeAcc(PacketPtr, ExecContext *,
803 Trace::InstRecord *) const override;
804
805 void
806 annotateFault(ArmFault *fault) override
807 {
808 %(fa_code)s
809 }
810 };
811}};
812
813def template LoadImmDeclare {{
814 /**
815 * Static instruction class for "%(mnemonic)s".
816 */
817 class %(class_name)s : public %(base_class)s
818 {
819 public:
820
821 /// Constructor.
822 %(class_name)s(ExtMachInst machInst,
823 uint32_t _dest, uint32_t _base, bool _add, int32_t _imm);
824
825 Fault execute(ExecContext *, Trace::InstRecord *) const override;
826 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
827 Fault completeAcc(PacketPtr, ExecContext *,
828 Trace::InstRecord *) const override;
829
830 void
831 annotateFault(ArmFault *fault) override
832 {
833 %(fa_code)s
834 }
835 };
836}};
837
838def template RfeConstructor {{
839 %(class_name)s::%(class_name)s(ExtMachInst machInst,
840 uint32_t _base, int _mode, bool _wb)

--- 402 unchanged lines hidden ---