From: Tony Gutierrez Date: Thu, 27 Oct 2016 02:47:01 +0000 (-0400) Subject: gpu-compute, arch: add some methods to the base inst classes for ISA support X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0a6cdff1760572bfa3cf9dffaa4a0df9fb4ae6a4;p=gem5.git gpu-compute, arch: add some methods to the base inst classes for ISA support --- diff --git a/src/arch/hsail/insts/gpu_static_inst.hh b/src/arch/hsail/insts/gpu_static_inst.hh index 29aab1f70..6a5ad5003 100644 --- a/src/arch/hsail/insts/gpu_static_inst.hh +++ b/src/arch/hsail/insts/gpu_static_inst.hh @@ -56,6 +56,7 @@ namespace HsailISA void generateDisassembly(); const std::string &disassemble(); uint32_t instSize() { return 4; } + bool isValid() const override { return true; } protected: HsailCode *hsailCode; diff --git a/src/gpu-compute/gpu_static_inst.hh b/src/gpu-compute/gpu_static_inst.hh index c1de28427..447e1efa3 100644 --- a/src/gpu-compute/gpu_static_inst.hh +++ b/src/gpu-compute/gpu_static_inst.hh @@ -84,6 +84,8 @@ class GPUStaticInst virtual int numDstRegOperands() = 0; virtual int numSrcRegOperands() = 0; + virtual bool isValid() const = 0; + /* * Most instructions (including all HSAIL instructions) * are vector ops, so _scalarOp will be false by default. @@ -109,6 +111,13 @@ class GPUStaticInst fatal("calling initiateAcc() on a non-memory instruction.\n"); } + // only used for memory instructions + virtual void + completeAcc(GPUDynInstPtr gpuDynInst) + { + fatal("calling completeAcc() on a non-memory instruction.\n"); + } + virtual uint32_t getTargetPc() { return 0; } /**