From 8d53fea21004af9dc51c68643bf5714904da2e72 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Tue, 25 Sep 2007 20:05:11 -0700 Subject: SPARC: Clean up the branch instructions a bit. --HG-- extra : convert_revision : 93d5cc68e4a327ee0492eeed7f3b56e98d2d83bb --- src/arch/sparc/isa/formats/basic.isa | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/arch/sparc/isa/formats/basic.isa') diff --git a/src/arch/sparc/isa/formats/basic.isa b/src/arch/sparc/isa/formats/basic.isa index 5b0868132..cad759b3e 100644 --- a/src/arch/sparc/isa/formats/basic.isa +++ b/src/arch/sparc/isa/formats/basic.isa @@ -56,6 +56,20 @@ def template BasicDeclare {{ }; }}; +// Basic instruction class declaration template. +def template BasicDeclareWithMnemonic {{ + /** + * Static instruction class for "%(mnemonic)s". + */ + class %(class_name)s : public %(base_class)s + { + public: + // Constructor. + %(class_name)s(const char * mnemonic, ExtMachInst machInst); + %(BasicExecDeclare)s + }; +}}; + // Basic instruction class constructor template. def template BasicConstructor {{ inline %(class_name)s::%(class_name)s(ExtMachInst machInst) @@ -65,6 +79,16 @@ def template BasicConstructor {{ } }}; +// Basic instruction class constructor template. +def template BasicConstructorWithMnemonic {{ + inline %(class_name)s::%(class_name)s(const char * mnemonic, + ExtMachInst machInst) + : %(base_class)s(mnemonic, machInst, %(op_class)s) + { + %(constructor)s; + } +}}; + // Basic instruction class execute method template. def template BasicExecute {{ Fault %(class_name)s::execute(%(CPU_exec_context)s *xc, -- cgit v1.2.3