macromem.isa (8303:5a95f1d2494e) | macromem.isa (8304:16911ff780d3) |
---|---|
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 --- 75 unchanged lines hidden (view full) --- 84 (((CPSR)Cpsr).e ? 4 : 0); 85 ''', 86 'predicate_test': predicateTest}, 87 ['IsMicroop']) 88 89 microRetUopCode = ''' 90 CPSR old_cpsr = Cpsr; 91 SCTLR sctlr = Sctlr; | 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 --- 75 unchanged lines hidden (view full) --- 84 (((CPSR)Cpsr).e ? 4 : 0); 85 ''', 86 'predicate_test': predicateTest}, 87 ['IsMicroop']) 88 89 microRetUopCode = ''' 90 CPSR old_cpsr = Cpsr; 91 SCTLR sctlr = Sctlr; |
92 old_cpsr.nz = CondCodesNZ; 93 old_cpsr.c = CondCodesC; 94 old_cpsr.v = CondCodesV; 95 old_cpsr.ge = CondCodesGE; | |
96 97 CPSR new_cpsr = 98 cpsrWriteByInstr(old_cpsr, Spsr, 0xF, true, sctlr.nmfi); 99 Cpsr = ~CondCodesMask & new_cpsr; 100 CondCodesNZ = new_cpsr.nz; 101 CondCodesC = new_cpsr.c; 102 CondCodesV = new_cpsr.v; 103 CondCodesGE = new_cpsr.ge; --- 479 unchanged lines hidden (view full) --- 583 584let {{ 585 microAddiUopIop = InstObjParams('addi_uop', 'MicroAddiUop', 586 'MicroIntImmOp', 587 {'code': 'URa = URb + imm;', 588 'predicate_test': predicateTest}, 589 ['IsMicroop']) 590 | 92 93 CPSR new_cpsr = 94 cpsrWriteByInstr(old_cpsr, Spsr, 0xF, true, sctlr.nmfi); 95 Cpsr = ~CondCodesMask & new_cpsr; 96 CondCodesNZ = new_cpsr.nz; 97 CondCodesC = new_cpsr.c; 98 CondCodesV = new_cpsr.v; 99 CondCodesGE = new_cpsr.ge; --- 479 unchanged lines hidden (view full) --- 579 580let {{ 581 microAddiUopIop = InstObjParams('addi_uop', 'MicroAddiUop', 582 'MicroIntImmOp', 583 {'code': 'URa = URb + imm;', 584 'predicate_test': predicateTest}, 585 ['IsMicroop']) 586 |
587 microAddUopCode = ''' 588 URa = URb + shift_rm_imm(URc, shiftAmt, shiftType, OptShiftRmCondCodesC); 589 ''' 590 |
|
591 microAddUopIop = InstObjParams('add_uop', 'MicroAddUop', 592 'MicroIntRegOp', | 591 microAddUopIop = InstObjParams('add_uop', 'MicroAddUop', 592 'MicroIntRegOp', |
593 {'code': 594 '''URa = URb + shift_rm_imm(URc, shiftAmt, 595 shiftType, 596 CondCodesC); 597 ''', 598 'predicate_test': predicateTest}, | 593 {'code': microAddUopCode, 594 'predicate_test': pickPredicate(microAddUopCode)}, |
599 ['IsMicroop']) 600 601 microSubiUopIop = InstObjParams('subi_uop', 'MicroSubiUop', 602 'MicroIntImmOp', 603 {'code': 'URa = URb - imm;', 604 'predicate_test': predicateTest}, 605 ['IsMicroop']) 606 | 595 ['IsMicroop']) 596 597 microSubiUopIop = InstObjParams('subi_uop', 'MicroSubiUop', 598 'MicroIntImmOp', 599 {'code': 'URa = URb - imm;', 600 'predicate_test': predicateTest}, 601 ['IsMicroop']) 602 |
603 microSubUopCode = ''' 604 URa = URb - shift_rm_imm(URc, shiftAmt, shiftType, OptShiftRmCondCodesC); 605 ''' |
|
607 microSubUopIop = InstObjParams('sub_uop', 'MicroSubUop', 608 'MicroIntRegOp', | 606 microSubUopIop = InstObjParams('sub_uop', 'MicroSubUop', 607 'MicroIntRegOp', |
609 {'code': 610 '''URa = URb - shift_rm_imm(URc, shiftAmt, 611 shiftType, 612 CondCodesC); 613 ''', 614 'predicate_test': predicateTest}, | 608 {'code': microSubUopCode, 609 'predicate_test': pickPredicate(microSubUopCode)}, |
615 ['IsMicroop']) 616 617 microUopRegMovIop = InstObjParams('uopReg_uop', 'MicroUopRegMov', 618 'MicroIntMov', 619 {'code': 'IWRa = URb;', 620 'predicate_test': predicateTest}, 621 ['IsMicroop']) 622 --- 82 unchanged lines hidden --- | 610 ['IsMicroop']) 611 612 microUopRegMovIop = InstObjParams('uopReg_uop', 'MicroUopRegMov', 613 'MicroIntMov', 614 {'code': 'IWRa = URb;', 615 'predicate_test': predicateTest}, 616 ['IsMicroop']) 617 --- 82 unchanged lines hidden --- |