ARM: Use the new DataOp format to simplify the decoder.
This commit is contained in:
@@ -388,7 +388,7 @@ ArmStaticInst::printDataInst(std::ostream &os) const
|
||||
{
|
||||
printMnemonic(os, machInst.sField ? "s" : "");
|
||||
//XXX It would be nice if the decoder figured this all out for us.
|
||||
unsigned opcode = machInst.opcode24_21;
|
||||
unsigned opcode = machInst.opcode;
|
||||
bool firstOp = true;
|
||||
|
||||
// Destination
|
||||
|
||||
@@ -34,9 +34,8 @@
|
||||
//
|
||||
|
||||
// Opcode fields
|
||||
def bitfield ENCODING encoding;
|
||||
def bitfield OPCODE opcode;
|
||||
def bitfield OPCODE_27_25 opcode27_25;
|
||||
def bitfield OPCODE_24_21 opcode24_21;
|
||||
def bitfield OPCODE_24_23 opcode24_23;
|
||||
def bitfield OPCODE_24 opcode24;
|
||||
def bitfield OPCODE_23_20 opcode23_20;
|
||||
@@ -52,7 +51,7 @@ def bitfield OPCODE_19 opcode19;
|
||||
def bitfield OPCODE_15_12 opcode15_12;
|
||||
def bitfield OPCODE_15 opcode15;
|
||||
def bitfield OPCODE_9 opcode9;
|
||||
def bitfield OPCODE_7_4 opcode7_4;
|
||||
def bitfield MISC_OPCODE miscOpcode;
|
||||
def bitfield OPCODE_7_5 opcode7_5;
|
||||
def bitfield OPCODE_7_6 opcode7_6;
|
||||
def bitfield OPCODE_7 opcode7;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -44,9 +44,8 @@ namespace ArmISA
|
||||
Bitfield<32> isMisc;
|
||||
|
||||
// All the different types of opcode fields.
|
||||
Bitfield<27, 25> opcode;
|
||||
Bitfield<27, 25> opcode27_25;
|
||||
Bitfield<24, 21> opcode24_21;
|
||||
Bitfield<27, 25> encoding;
|
||||
Bitfield<24, 21> opcode;
|
||||
Bitfield<24, 23> opcode24_23;
|
||||
Bitfield<24> opcode24;
|
||||
Bitfield<23, 20> opcode23_20;
|
||||
@@ -62,7 +61,7 @@ namespace ArmISA
|
||||
Bitfield<15, 12> opcode15_12;
|
||||
Bitfield<15> opcode15;
|
||||
Bitfield<9> opcode9;
|
||||
Bitfield<7, 4> opcode7_4;
|
||||
Bitfield<7, 4> miscOpcode;
|
||||
Bitfield<7, 5> opcode7_5;
|
||||
Bitfield<7, 6> opcode7_6;
|
||||
Bitfield<7> opcode7;
|
||||
|
||||
Reference in New Issue
Block a user