misc.isa (7315:3a635c897874) | misc.isa (7347:baefb46b29b2) |
---|---|
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 --- 487 unchanged lines hidden (view full) --- 496 ''' 497 bfiIop = InstObjParams("bfi", "Bfi", "RegRegImmImmOp", 498 { "code": bfiCode, 499 "predicate_test": predicateTest }, []) 500 header_output += RegRegImmImmOpDeclare.subst(bfiIop) 501 decoder_output += RegRegImmImmOpConstructor.subst(bfiIop) 502 exec_output += PredOpExecute.subst(bfiIop) 503 | 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 --- 487 unchanged lines hidden (view full) --- 496 ''' 497 bfiIop = InstObjParams("bfi", "Bfi", "RegRegImmImmOp", 498 { "code": bfiCode, 499 "predicate_test": predicateTest }, []) 500 header_output += RegRegImmImmOpDeclare.subst(bfiIop) 501 decoder_output += RegRegImmImmOpConstructor.subst(bfiIop) 502 exec_output += PredOpExecute.subst(bfiIop) 503 |
504 mrc15code = ''' 505 CPSR cpsr = Cpsr; 506 if (cpsr.mode == MODE_USER) 507#if FULL_SYSTEM 508 return new UndefinedInstruction; 509#else 510 return new UndefinedInstruction(false, mnemonic); 511#endif 512 Dest = MiscOp1; 513 ''' 514 |
|
504 mrc15Iop = InstObjParams("mrc", "Mrc15", "RegRegOp", | 515 mrc15Iop = InstObjParams("mrc", "Mrc15", "RegRegOp", |
505 { "code": "Dest = MiscOp1;", | 516 { "code": mrc15code, |
506 "predicate_test": predicateTest }, []) 507 header_output += RegRegOpDeclare.subst(mrc15Iop) 508 decoder_output += RegRegOpConstructor.subst(mrc15Iop) 509 exec_output += PredOpExecute.subst(mrc15Iop) 510 | 517 "predicate_test": predicateTest }, []) 518 header_output += RegRegOpDeclare.subst(mrc15Iop) 519 decoder_output += RegRegOpConstructor.subst(mrc15Iop) 520 exec_output += PredOpExecute.subst(mrc15Iop) 521 |
522 523 mcr15code = ''' 524 CPSR cpsr = Cpsr; 525 if (cpsr.mode == MODE_USER) 526#if FULL_SYSTEM 527 return new UndefinedInstruction; 528#else 529 return new UndefinedInstruction(false, mnemonic); 530#endif 531 MiscDest = Op1; 532 ''' |
|
511 mcr15Iop = InstObjParams("mcr", "Mcr15", "RegRegOp", | 533 mcr15Iop = InstObjParams("mcr", "Mcr15", "RegRegOp", |
512 { "code": "MiscDest = Op1;", | 534 { "code": mcr15code, |
513 "predicate_test": predicateTest }, []) 514 header_output += RegRegOpDeclare.subst(mcr15Iop) 515 decoder_output += RegRegOpConstructor.subst(mcr15Iop) 516 exec_output += PredOpExecute.subst(mcr15Iop) 517 518 enterxCode = ''' 519 FNPC = NPC | (1ULL << PcJBitShift) | (1ULL << PcTBitShift); 520 ''' --- 60 unchanged lines hidden --- | 535 "predicate_test": predicateTest }, []) 536 header_output += RegRegOpDeclare.subst(mcr15Iop) 537 decoder_output += RegRegOpConstructor.subst(mcr15Iop) 538 exec_output += PredOpExecute.subst(mcr15Iop) 539 540 enterxCode = ''' 541 FNPC = NPC | (1ULL << PcJBitShift) | (1ULL << PcTBitShift); 542 ''' --- 60 unchanged lines hidden --- |