diff options
Diffstat (limited to 'src/arch/hsail/insts/decl.hh')
-rw-r--r-- | src/arch/hsail/insts/decl.hh | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/arch/hsail/insts/decl.hh b/src/arch/hsail/insts/decl.hh index 4c0bc9ce1..919a4d9d4 100644 --- a/src/arch/hsail/insts/decl.hh +++ b/src/arch/hsail/insts/decl.hh @@ -725,6 +725,26 @@ namespace HsailISA } }; + template<typename DestDataType, typename SrcDataType> + class PopcountInst : + public CommonInstBase<typename DestDataType::OperandType, + typename SrcDataType::OperandType, 1> + { + public: + std::string opcode_suffix() + { + return csprintf("_%s_%s", DestDataType::label, SrcDataType::label); + } + + PopcountInst(const Brig::BrigInstBase *ib, const BrigObject *obj, + const char *_opcode) + : CommonInstBase<typename DestDataType::OperandType, + typename SrcDataType::OperandType, + 1>(ib, obj, _opcode) + { + } + }; + class SpecialInstNoSrcNoDest : public HsailGPUStaticInst { public: |