gpu_static_inst.hh revision 11697
12810SN/A/*
212724Snikos.nikoleris@arm.com * Copyright (c) 2015 Advanced Micro Devices, Inc.
38856Sandreas.hansson@arm.com * All rights reserved.
48856Sandreas.hansson@arm.com *
58856Sandreas.hansson@arm.com * For use for simulation and test purposes only
68856Sandreas.hansson@arm.com *
78856Sandreas.hansson@arm.com * Redistribution and use in source and binary forms, with or without
88856Sandreas.hansson@arm.com * modification, are permitted provided that the following conditions are met:
98856Sandreas.hansson@arm.com *
108856Sandreas.hansson@arm.com * 1. Redistributions of source code must retain the above copyright notice,
118856Sandreas.hansson@arm.com * this list of conditions and the following disclaimer.
128856Sandreas.hansson@arm.com *
138856Sandreas.hansson@arm.com * 2. Redistributions in binary form must reproduce the above copyright notice,
142810SN/A * this list of conditions and the following disclaimer in the documentation
152810SN/A * and/or other materials provided with the distribution.
162810SN/A *
172810SN/A * 3. Neither the name of the copyright holder nor the names of its contributors
182810SN/A * may be used to endorse or promote products derived from this software
192810SN/A * without specific prior written permission.
202810SN/A *
212810SN/A * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
222810SN/A * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
232810SN/A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
242810SN/A * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
252810SN/A * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
262810SN/A * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
272810SN/A * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
282810SN/A * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
292810SN/A * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
302810SN/A * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
312810SN/A * POSSIBILITY OF SUCH DAMAGE.
322810SN/A *
332810SN/A * Author: Anthony Gutierrez
342810SN/A */
352810SN/A
362810SN/A#ifndef __ARCH_HSAIL_INSTS_GPU_STATIC_INST_HH__
372810SN/A#define __ARCH_HSAIL_INSTS_GPU_STATIC_INST_HH__
382810SN/A
392810SN/A/*
402810SN/A * @file gpu_static_inst.hh
414458SN/A *
424458SN/A * Defines the base class representing HSAIL GPU static instructions.
4312724Snikos.nikoleris@arm.com */
4412724Snikos.nikoleris@arm.com
452810SN/A#include "arch/hsail/gpu_types.hh"
462810SN/A#include "gpu-compute/gpu_static_inst.hh"
472810SN/A
482810SN/Aclass BrigObject;
492810SN/Aclass HsailCode;
502810SN/A
512810SN/Anamespace HsailISA
5211051Sandreas.hansson@arm.com{
5311051Sandreas.hansson@arm.com    class HsailGPUStaticInst : public GPUStaticInst
542810SN/A    {
5512724Snikos.nikoleris@arm.com      public:
5612724Snikos.nikoleris@arm.com        HsailGPUStaticInst(const BrigObject *obj, const std::string &opcode);
577676Snate@binkert.org        void generateDisassembly();
582810SN/A        int instSize() const override { return sizeof(RawMachInst); }
5912724Snikos.nikoleris@arm.com        bool isValid() const override { return true; }
602810SN/A
612810SN/A      protected:
626215Snate@binkert.org        HsailCode *hsailCode;
638232Snate@binkert.org    };
648232Snate@binkert.org} // namespace HsailISA
6512724Snikos.nikoleris@arm.com
6612724Snikos.nikoleris@arm.com#endif // __ARCH_HSAIL_INSTS_GPU_STATIC_INST_HH__
675338Sstever@gmail.com