misc.isa (8809:bb10807da889) | misc.isa (8868:26dbd171754e) |
---|---|
1// -*- mode:c++ -*- 2 | 1// -*- mode:c++ -*- 2 |
3// Copyright (c) 2010 ARM Limited | 3// Copyright (c) 2010-2012 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 9// to a hardware implementation of the functionality of the software 10// licensed hereunder. You may use the software subject to the license 11// terms below provided that you ensure that this notice is replicated --- 609 unchanged lines hidden (view full) --- 621 ''' 622 bfiIop = InstObjParams("bfi", "Bfi", "RegRegImmImmOp", 623 { "code": bfiCode, 624 "predicate_test": predicateTest }, []) 625 header_output += RegRegImmImmOpDeclare.subst(bfiIop) 626 decoder_output += RegRegImmImmOpConstructor.subst(bfiIop) 627 exec_output += PredOpExecute.subst(bfiIop) 628 | 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 9// to a hardware implementation of the functionality of the software 10// licensed hereunder. You may use the software subject to the license 11// terms below provided that you ensure that this notice is replicated --- 609 unchanged lines hidden (view full) --- 621 ''' 622 bfiIop = InstObjParams("bfi", "Bfi", "RegRegImmImmOp", 623 { "code": bfiCode, 624 "predicate_test": predicateTest }, []) 625 header_output += RegRegImmImmOpDeclare.subst(bfiIop) 626 decoder_output += RegRegImmImmOpConstructor.subst(bfiIop) 627 exec_output += PredOpExecute.subst(bfiIop) 628 |
629 mrc14code = ''' 630 CPSR cpsr = Cpsr; 631 if (cpsr.mode == MODE_USER) { 632 if (FullSystem) 633 return new UndefinedInstruction; 634 else 635 return new UndefinedInstruction(false, mnemonic); 636 } 637 Dest = MiscOp1; 638 ''' 639 640 mrc14Iop = InstObjParams("mrc", "Mrc14", "RegRegOp", 641 { "code": mrc14code, 642 "predicate_test": predicateTest }, []) 643 header_output += RegRegOpDeclare.subst(mrc14Iop) 644 decoder_output += RegRegOpConstructor.subst(mrc14Iop) 645 exec_output += PredOpExecute.subst(mrc14Iop) 646 647 648 mcr14code = ''' 649 CPSR cpsr = Cpsr; 650 if (cpsr.mode == MODE_USER) { 651 if (FullSystem) 652 return new UndefinedInstruction; 653 else 654 return new UndefinedInstruction(false, mnemonic); 655 } 656 MiscDest = Op1; 657 ''' 658 mcr14Iop = InstObjParams("mcr", "Mcr14", "RegRegOp", 659 { "code": mcr14code, 660 "predicate_test": predicateTest }, 661 ["IsSerializeAfter","IsNonSpeculative"]) 662 header_output += RegRegOpDeclare.subst(mcr14Iop) 663 decoder_output += RegRegOpConstructor.subst(mcr14Iop) 664 exec_output += PredOpExecute.subst(mcr14Iop) 665 666 mrc14UserIop = InstObjParams("mrc", "Mrc14User", "RegRegOp", 667 { "code": "Dest = MiscOp1;", 668 "predicate_test": predicateTest }, []) 669 header_output += RegRegOpDeclare.subst(mrc14UserIop) 670 decoder_output += RegRegOpConstructor.subst(mrc14UserIop) 671 exec_output += PredOpExecute.subst(mrc14UserIop) 672 673 mcr14UserIop = InstObjParams("mcr", "Mcr14User", "RegRegOp", 674 { "code": "MiscDest = Op1", 675 "predicate_test": predicateTest }, 676 ["IsSerializeAfter","IsNonSpeculative"]) 677 header_output += RegRegOpDeclare.subst(mcr14UserIop) 678 decoder_output += RegRegOpConstructor.subst(mcr14UserIop) 679 exec_output += PredOpExecute.subst(mcr14UserIop) 680 |
|
629 mrc15code = ''' 630 CPSR cpsr = Cpsr; 631 if (cpsr.mode == MODE_USER) { 632 if (FullSystem) 633 return new UndefinedInstruction; 634 else 635 return new UndefinedInstruction(false, mnemonic); 636 } --- 163 unchanged lines hidden --- | 681 mrc15code = ''' 682 CPSR cpsr = Cpsr; 683 if (cpsr.mode == MODE_USER) { 684 if (FullSystem) 685 return new UndefinedInstruction; 686 else 687 return new UndefinedInstruction(false, mnemonic); 688 } --- 163 unchanged lines hidden --- |