From 4285990a96bad869bc1046f28f99cf7f4b5c8de0 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 4 Apr 2007 14:31:59 +0000 Subject: Reworking how x86's isa description works. I'm adopting the following definitions to make figuring out what's what a little easier: MicroOp: A single operation actually implemented in hardware. MacroOp: A collection of microops which are executed as a unit. Instruction: An architected instruction which can be implemented with a macroop or a microop. --HG-- extra : convert_revision : 1cfc8409cc686c75220767839f55a30551aa6f13 --- src/arch/x86/isa/decoder/one_byte_opcodes.isa | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'src/arch/x86/isa/decoder') diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index f7e6e3994..938904bc1 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -61,15 +61,12 @@ 0x1: decode OPCODE_OP_TOP5 { format WarnUnimpl { 0x00: decode OPCODE_OP_BOTTOM3 { - 0x4: TaggedOp::add({{AddI %0 %0}}, [rAl]); - 0x5: TaggedOp::add({{AddI %0 %0}}, [rAx]); + 0x4: Inst::addI(rAl,Ib); + 0x5: Inst::addI(rAx,Iz); 0x6: push_ES(); 0x7: pop_ES(); - default: MultiOp::add( - {{Add %0 %0 %1}}, - OPCODE_OP_BOTTOM3, - [[Eb,Gb],[Ev,Gv], - [Gb,Eb],[Gv,Ev]]); + default: MultiInst::add(OPCODE_OP_BOTTOM3, + [Eb,Gb],[Ev,Gv],[Gb,Eb],[Gv,Ev]); } 0x01: decode OPCODE_OP_BOTTOM3 { 0x0: or_Eb_Gb(); @@ -126,16 +123,13 @@ 0x7: das(); } 0x06: decode OPCODE_OP_BOTTOM3 { - 0x4: TaggedOp::xor({{XorI %0 %0}}, [rAl]); - 0x5: TaggedOp::xor({{XorI %0 %0}}, [rAx]); + 0x4: Inst::xorI(rAl,Ib); + 0x5: Inst::xorI(rAx,Iz); 0x6: M5InternalError::error( {{"Tried to execute the SS segment override prefix!"}}); 0x7: aaa(); - default: MultiOp::xor( - {{Xor %0 %0 %1}}, - OPCODE_OP_BOTTOM3, - [[Eb,Gb],[Ev,Gv], - [Gb,Eb],[Gv,Ev]]); + default: MultiInst::xor(OPCODE_OP_BOTTOM3, + [Eb,Gb],[Ev,Gv],[Gb,Eb],[Gv,Ev]); } 0x07: decode OPCODE_OP_BOTTOM3 { 0x0: cmp_Eb_Gb(); -- cgit v1.2.3