fp.isa (7407:70f65d4c7fe3) fp.isa (7413:18e0f95d1f32)
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

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

91 (IntRegIndex)vm);
92 } else {
93 return new Vmov2Reg2Core(machInst, (IntRegIndex)vm,
94 rt, rt2);
95 }
96 }
97 break;
98 case 0x1:
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

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

91 (IntRegIndex)vm);
92 } else {
93 return new Vmov2Reg2Core(machInst, (IntRegIndex)vm,
94 rt, rt2);
95 }
96 }
97 break;
98 case 0x1:
99 switch (bits(opcode, 1, 0)) {
100 case 0x0:
101 return new VLdmStm(machInst, rn, vd, single,
102 true, false, false, offset);
103 case 0x1:
104 return new VLdmStm(machInst, rn, vd, single,
105 true, false, true, offset);
106 case 0x2:
107 return new VLdmStm(machInst, rn, vd, single,
108 true, true, false, offset);
109 case 0x3:
110 // If rn == sp, then this is called vpop.
111 return new VLdmStm(machInst, rn, vd, single,
112 true, true, true, offset);
99 {
100 if (offset == 0 || vd + offset > NumFloatArchRegs) {
101 break;
102 }
103 switch (bits(opcode, 1, 0)) {
104 case 0x0:
105 return new VLdmStm(machInst, rn, vd, single,
106 true, false, false, offset);
107 case 0x1:
108 return new VLdmStm(machInst, rn, vd, single,
109 true, false, true, offset);
110 case 0x2:
111 return new VLdmStm(machInst, rn, vd, single,
112 true, true, false, offset);
113 case 0x3:
114 // If rn == sp, then this is called vpop.
115 return new VLdmStm(machInst, rn, vd, single,
116 true, true, true, offset);
117 }
113 }
114 case 0x2:
115 if (bits(opcode, 1, 0) == 0x2) {
116 // If rn == sp, then this is called vpush.
117 return new VLdmStm(machInst, rn, vd, single,
118 false, true, false, offset);
119 } else if (bits(opcode, 1, 0) == 0x3) {
120 return new VLdmStm(machInst, rn, vd, single,

--- 643 unchanged lines hidden ---
118 }
119 case 0x2:
120 if (bits(opcode, 1, 0) == 0x2) {
121 // If rn == sp, then this is called vpush.
122 return new VLdmStm(machInst, rn, vd, single,
123 false, true, false, offset);
124 } else if (bits(opcode, 1, 0) == 0x3) {
125 return new VLdmStm(machInst, rn, vd, single,

--- 643 unchanged lines hidden ---