macromem.cc (8229:78bf55f23338) macromem.cc (8542:7230ff0738e3)
1/*
2 * Copyright (c) 2010 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

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

135 // If this was a load move the last temporary value into place
136 // this way we can't take an exception after we update the base
137 // register.
138 if (load && reg == INTREG_PC && exception_ret) {
139 *++uop = new MicroUopRegMovRet(machInst, 0, INTREG_UREG1);
140 } else if (load) {
141 *++uop = new MicroUopRegMov(machInst, regIdx, INTREG_UREG1);
142 if (reg == INTREG_PC) {
1/*
2 * Copyright (c) 2010 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

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

135 // If this was a load move the last temporary value into place
136 // this way we can't take an exception after we update the base
137 // register.
138 if (load && reg == INTREG_PC && exception_ret) {
139 *++uop = new MicroUopRegMovRet(machInst, 0, INTREG_UREG1);
140 } else if (load) {
141 *++uop = new MicroUopRegMov(machInst, regIdx, INTREG_UREG1);
142 if (reg == INTREG_PC) {
143 (*uop)->setFlag(StaticInstBase::IsControl);
144 (*uop)->setFlag(StaticInstBase::IsCondControl);
145 (*uop)->setFlag(StaticInstBase::IsIndirectControl);
143 (*uop)->setFlag(StaticInst::IsControl);
144 (*uop)->setFlag(StaticInst::IsCondControl);
145 (*uop)->setFlag(StaticInst::IsIndirectControl);
146 // This is created as a RAS POP
147 if (rn == INTREG_SP)
146 // This is created as a RAS POP
147 if (rn == INTREG_SP)
148 (*uop)->setFlag(StaticInstBase::IsReturn);
148 (*uop)->setFlag(StaticInst::IsReturn);
149
150 }
151 }
152 }
153
154 (*uop)->setLastMicroop();
155
156 for (StaticInstPtr *curUop = microOps;

--- 811 unchanged lines hidden ---
149
150 }
151 }
152 }
153
154 (*uop)->setLastMicroop();
155
156 for (StaticInstPtr *curUop = microOps;

--- 811 unchanged lines hidden ---