Deleted Added
sdiff udiff text old ( 7705:fd65f85fcc0c ) new ( 7720:65d338a8dba4 )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 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

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

78 decoder_output += MrsConstructor.subst(mrsSpsrIop)
79 exec_output += PredOpExecute.subst(mrsSpsrIop)
80
81 msrCpsrRegCode = '''
82 SCTLR sctlr = Sctlr;
83 uint32_t newCpsr =
84 cpsrWriteByInstr(Cpsr | CondCodes, Op1, byteMask, false, sctlr.nmfi);
85 Cpsr = ~CondCodesMask & newCpsr;
86 CondCodes = CondCodesMask & newCpsr;
87 '''
88 msrCpsrRegIop = InstObjParams("msr", "MsrCpsrReg", "MsrRegOp",
89 { "code": msrCpsrRegCode,
90 "predicate_test": condPredicateTest },
91 ["IsSerializeAfter","IsNonSpeculative"])
92 header_output += MsrRegDeclare.subst(msrCpsrRegIop)
93 decoder_output += MsrRegConstructor.subst(msrCpsrRegIop)

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

102 decoder_output += MsrRegConstructor.subst(msrSpsrRegIop)
103 exec_output += PredOpExecute.subst(msrSpsrRegIop)
104
105 msrCpsrImmCode = '''
106 SCTLR sctlr = Sctlr;
107 uint32_t newCpsr =
108 cpsrWriteByInstr(Cpsr | CondCodes, imm, byteMask, false, sctlr.nmfi);
109 Cpsr = ~CondCodesMask & newCpsr;
110 CondCodes = CondCodesMask & newCpsr;
111 '''
112 msrCpsrImmIop = InstObjParams("msr", "MsrCpsrImm", "MsrImmOp",
113 { "code": msrCpsrImmCode,
114 "predicate_test": condPredicateTest },
115 ["IsSerializeAfter","IsNonSpeculative"])
116 header_output += MsrImmDeclare.subst(msrCpsrImmIop)
117 decoder_output += MsrImmConstructor.subst(msrCpsrImmIop)

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

457 '''
458 usada8Iop = InstObjParams("usada8", "Usada8", "RegRegRegRegOp",
459 { "code": usada8Code,
460 "predicate_test": predicateTest }, [])
461 header_output += RegRegRegRegOpDeclare.subst(usada8Iop)
462 decoder_output += RegRegRegRegOpConstructor.subst(usada8Iop)
463 exec_output += PredOpExecute.subst(usada8Iop)
464
465 bkptIop = InstObjParams("bkpt", "BkptInst", "ArmStaticInst",
466 "return new PrefetchAbort(PC, ArmFault::DebugEvent);")
467 header_output += BasicDeclare.subst(bkptIop)
468 decoder_output += BasicConstructor.subst(bkptIop)
469 exec_output += BasicExecute.subst(bkptIop)
470
471 nopIop = InstObjParams("nop", "NopInst", "PredOp", \
472 { "code" : "", "predicate_test" : predicateTest })
473 header_output += BasicDeclare.subst(nopIop)
474 decoder_output += BasicConstructor.subst(nopIop)

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

633 { "code": "MiscDest = Op1",
634 "predicate_test": predicateTest },
635 ["IsSerializeAfter","IsNonSpeculative"])
636 header_output += RegRegOpDeclare.subst(mcr15UserIop)
637 decoder_output += RegRegOpConstructor.subst(mcr15UserIop)
638 exec_output += PredOpExecute.subst(mcr15UserIop)
639
640 enterxCode = '''
641 FNPC = NPC | PcJBit | PcTBit;
642 '''
643 enterxIop = InstObjParams("enterx", "Enterx", "PredOp",
644 { "code": enterxCode,
645 "predicate_test": predicateTest }, [])
646 header_output += BasicDeclare.subst(enterxIop)
647 decoder_output += BasicConstructor.subst(enterxIop)
648 exec_output += PredOpExecute.subst(enterxIop)
649
650 leavexCode = '''
651 FNPC = (NPC & ~PcJBit) | PcTBit;
652 '''
653 leavexIop = InstObjParams("leavex", "Leavex", "PredOp",
654 { "code": leavexCode,
655 "predicate_test": predicateTest }, [])
656 header_output += BasicDeclare.subst(leavexIop)
657 decoder_output += BasicConstructor.subst(leavexIop)
658 exec_output += PredOpExecute.subst(leavexIop)
659

--- 96 unchanged lines hidden ---