tarmac_parser.cc (13116:d3c3e2533928) | tarmac_parser.cc (13611:c8b7847b4171) |
---|---|
1/* 2 * Copyright (c) 2011,2017-2018 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 633 unchanged lines hidden (view full) --- 642 for (; it != end; ++it) { 643 switch (it->type) { 644 case REG_R: 645 case REG_X: 646 value_lo = thread->readIntReg(it->index); 647 break; 648 case REG_S: 649 if (instRecord.isetstate == ISET_A64) | 1/* 2 * Copyright (c) 2011,2017-2018 ARM Limited 3 * All rights reserved 4 * 5 * The license below extends only to copyright in the software and shall 6 * not be construed as granting a license to any other intellectual 7 * property including but not limited to intellectual property relating 8 * to a hardware implementation of the functionality of the software --- 633 unchanged lines hidden (view full) --- 642 for (; it != end; ++it) { 643 switch (it->type) { 644 case REG_R: 645 case REG_X: 646 value_lo = thread->readIntReg(it->index); 647 break; 648 case REG_S: 649 if (instRecord.isetstate == ISET_A64) |
650 value_lo = thread->readFloatRegBits(it->index * 4); | 650 value_lo = thread->readFloatReg(it->index * 4); |
651 else | 651 else |
652 value_lo = thread->readFloatRegBits(it->index); | 652 value_lo = thread->readFloatReg(it->index); |
653 break; 654 case REG_D: 655 if (instRecord.isetstate == ISET_A64) | 653 break; 654 case REG_D: 655 if (instRecord.isetstate == ISET_A64) |
656 value_lo = thread->readFloatRegBits(it->index * 4) | 657 (uint64_t) thread->readFloatRegBits(it->index * 4 + 1) << | 656 value_lo = thread->readFloatReg(it->index * 4) | 657 (uint64_t) thread->readFloatReg(it->index * 4 + 1) << |
658 32; 659 else | 658 32; 659 else |
660 value_lo = thread->readFloatRegBits(it->index * 2) | 661 (uint64_t) thread->readFloatRegBits(it->index * 2 + 1) << | 660 value_lo = thread->readFloatReg(it->index * 2) | 661 (uint64_t) thread->readFloatReg(it->index * 2 + 1) << |
662 32; 663 break; 664 case REG_Q: 665 check_value_hi = true; 666 if (instRecord.isetstate == ISET_A64) { | 662 32; 663 break; 664 case REG_Q: 665 check_value_hi = true; 666 if (instRecord.isetstate == ISET_A64) { |
667 value_lo = thread->readFloatRegBits(it->index * 4) | 668 (uint64_t) thread->readFloatRegBits(it->index * 4 + 1) << | 667 value_lo = thread->readFloatReg(it->index * 4) | 668 (uint64_t) thread->readFloatReg(it->index * 4 + 1) << |
669 32; | 669 32; |
670 value_hi = thread->readFloatRegBits(it->index * 4 + 2) | 671 (uint64_t) thread->readFloatRegBits(it->index * 4 + 3) << | 670 value_hi = thread->readFloatReg(it->index * 4 + 2) | 671 (uint64_t) thread->readFloatReg(it->index * 4 + 3) << |
672 32; 673 } else { | 672 32; 673 } else { |
674 value_lo = thread->readFloatRegBits(it->index * 2) | 675 (uint64_t) thread->readFloatRegBits(it->index * 2 + 1) << | 674 value_lo = thread->readFloatReg(it->index * 2) | 675 (uint64_t) thread->readFloatReg(it->index * 2 + 1) << |
676 32; | 676 32; |
677 value_hi = thread->readFloatRegBits(it->index * 2 + 2) | 678 (uint64_t) thread->readFloatRegBits(it->index * 2 + 3) << | 677 value_hi = thread->readFloatReg(it->index * 2 + 2) | 678 (uint64_t) thread->readFloatReg(it->index * 2 + 3) << |
679 32; 680 } 681 break; 682 case REG_MISC: 683 if (it->index == MISCREG_CPSR) { 684 // Read condition codes from aliased integer regs 685 CPSR cpsr = thread->readMiscRegNoEffect(it->index); 686 cpsr.nz = thread->readCCReg(CCREG_NZ); --- 452 unchanged lines hidden --- | 679 32; 680 } 681 break; 682 case REG_MISC: 683 if (it->index == MISCREG_CPSR) { 684 // Read condition codes from aliased integer regs 685 CPSR cpsr = thread->readMiscRegNoEffect(it->index); 686 cpsr.nz = thread->readCCReg(CCREG_NZ); --- 452 unchanged lines hidden --- |