Deleted Added
sdiff udiff text old ( 14128:6ed23d07d0d1 ) new ( 14150:1391e94a7b95 )
full compact
1// Copyright (c) 2011-2019 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

582 case 0x3:
583 return new STLXRX64(machInst, rt, rnsp, rs);
584 default:
585 M5_UNREACHABLE;
586 }
587 case 0x2:
588 switch (size) {
589 case 0x0:
590 case 0x1:
591 return new Unknown64(machInst);
592 case 0x2:
593 return new STXPW64(machInst, rs, rt, rt2, rnsp);
594 case 0x3:
595 return new STXPX64(machInst, rs, rt, rt2, rnsp);
596 default:
597 M5_UNREACHABLE;
598 }
599
600 case 0x3:
601 switch (size) {
602 case 0x0:
603 case 0x1:
604 return new Unknown64(machInst);
605 case 0x2:
606 return new STLXPW64(machInst, rs, rt, rt2, rnsp);
607 case 0x3:
608 return new STLXPX64(machInst, rs, rt, rt2, rnsp);
609 default:
610 M5_UNREACHABLE;
611 }
612

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

634 case 0x3:
635 return new LDAXRX64(machInst, rt, rnsp, rs);
636 default:
637 M5_UNREACHABLE;
638 }
639 case 0x6:
640 switch (size) {
641 case 0x0:
642 case 0x1:
643 return new Unknown64(machInst);
644 case 0x2:
645 return new LDXPW64(machInst, rt, rt2, rnsp);
646 case 0x3:
647 return new LDXPX64(machInst, rt, rt2, rnsp);
648 default:
649 M5_UNREACHABLE;
650 }
651
652 case 0x7:
653 switch (size) {
654 case 0x0:
655 case 0x1:
656 return new Unknown64(machInst);
657 case 0x2:
658 return new LDAXPW64(machInst, rt, rt2, rnsp);
659 case 0x3:
660 return new LDAXPX64(machInst, rt, rt2, rnsp);
661 default:
662 M5_UNREACHABLE;
663 }
664
665 case 0x9:
666 switch (size) {
667 case 0x0:
668 return new STLRB64(machInst, rt, rnsp);
669 case 0x1:
670 return new STLRH64(machInst, rt, rnsp);
671 case 0x2:
672 return new STLRW64(machInst, rt, rnsp);
673 case 0x3:
674 return new STLRX64(machInst, rt, rnsp);
675 default:
676 M5_UNREACHABLE;
677 }
678 case 0xd:
679 switch (size) {
680 case 0x0:
681 return new LDARB64(machInst, rt, rnsp);
682 case 0x1:
683 return new LDARH64(machInst, rt, rnsp);
684 case 0x2:
685 return new LDARW64(machInst, rt, rnsp);
686 case 0x3:
687 return new LDARX64(machInst, rt, rnsp);
688 default:
689 M5_UNREACHABLE;
690 }
691 default:
692 return new Unknown64(machInst);
693 }
694 } else if (bits(machInst, 31)) {
695 return new Unknown64(machInst);
696 } else {
697 return decodeNeonMem(machInst);
698 }

--- 1626 unchanged lines hidden ---