uncond.isa (7192:939e4ce4f1db) uncond.isa (7248:f5563135de40)
1// Copyright (c) 2010 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

53 "Advanced SIMD data-processing", machInst);
54 } else if (bits(op1, 6, 4) == 0x4) {
55 if (bits(op1, 0) == 0) {
56 return new WarnUnimplemented(
57 "Advanced SIMD element or structure load/store",
58 machInst);
59 } else if (bits(op1, 2, 0) == 1) {
60 // Unallocated memory hint
1// Copyright (c) 2010 ARM Limited
2// All rights reserved
3//
4// The license below extends only to copyright in the software and shall
5// not be construed as granting a license to any other intellectual
6// property including but not limited to intellectual property relating
7// to a hardware implementation of the functionality of the software
8// licensed hereunder. You may use the software subject to the license

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

53 "Advanced SIMD data-processing", machInst);
54 } else if (bits(op1, 6, 4) == 0x4) {
55 if (bits(op1, 0) == 0) {
56 return new WarnUnimplemented(
57 "Advanced SIMD element or structure load/store",
58 machInst);
59 } else if (bits(op1, 2, 0) == 1) {
60 // Unallocated memory hint
61 return new WarnUnimplemented("nop", machInst);
61 return new NopInst(machInst);
62 } else if (bits(op1, 2, 0) == 5) {
63 const bool add = bits(machInst, 23);
64 const uint32_t imm12 = bits(machInst, 11, 0);
65 if (add) {
66 return new %(pli_iadd)s(machInst, INTREG_ZERO,
67 rn, add, imm12);
68 } else {
69 return new %(pli_isub)s(machInst, INTREG_ZERO,

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

103 case 0x6:
104 return new WarnUnimplemented("isb", machInst);
105 }
106 }
107 } else if (bits(op2, 0) == 0) {
108 switch (op1 & 0xf7) {
109 case 0x61:
110 // Unallocated memory hint
62 } else if (bits(op1, 2, 0) == 5) {
63 const bool add = bits(machInst, 23);
64 const uint32_t imm12 = bits(machInst, 11, 0);
65 if (add) {
66 return new %(pli_iadd)s(machInst, INTREG_ZERO,
67 rn, add, imm12);
68 } else {
69 return new %(pli_isub)s(machInst, INTREG_ZERO,

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

103 case 0x6:
104 return new WarnUnimplemented("isb", machInst);
105 }
106 }
107 } else if (bits(op2, 0) == 0) {
108 switch (op1 & 0xf7) {
109 case 0x61:
110 // Unallocated memory hint
111 return new WarnUnimplemented("nop", machInst);
111 return new NopInst(machInst);
112 case 0x65:
113 {
114 const uint32_t imm5 = bits(machInst, 11, 7);
115 const uint32_t type = bits(machInst, 6, 5);
116 const bool add = bits(machInst, 23);
117 const IntRegIndex rm =
118 (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
119 if (add) {

--- 118 unchanged lines hidden ---
112 case 0x65:
113 {
114 const uint32_t imm5 = bits(machInst, 11, 7);
115 const uint32_t type = bits(machInst, 6, 5);
116 const bool add = bits(machInst, 23);
117 const IntRegIndex rm =
118 (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
119 if (add) {

--- 118 unchanged lines hidden ---