1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
/*========================== begin_copyright_notice ============================
Copyright (C) 2023 Intel Corporation
SPDX-License-Identifier: MIT
============================= end_copyright_notice ===========================*/
#pragma once
#include "GenIntrinsicEnum.h"
namespace IGC
{
template<llvm::GenISAIntrinsic::ID id>
struct IntrinsicDescription;
<%!
from Intrinsic_generator import IntrinsicFormatter
%>\
% for el in intrinsic_definitions:
template<>
class IntrinsicDescription<llvm::GenISAIntrinsic::ID::${el.name}>
{
public:
static constexpr llvm::GenISAIntrinsic::ID scID = llvm::GenISAIntrinsic::ID::${el.name};
enum class Argument : uint32_t
{
% if len(el.arguments) > 0:
% for arg in el.arguments:
${IntrinsicFormatter.get_argument_name(arg, loop.index)}
% endfor
Count
% else:
Count = 0
% endif
};
};
% endfor
} // namespace IGC
|