[LANG] Added log intrinsic

This commit is contained in:
Philippe Tillet
2020-11-03 15:50:11 -05:00
committed by Philippe Tillet
parent 02a6e81b88
commit f152150e7d
16 changed files with 74 additions and 14 deletions

View File

@@ -112,6 +112,7 @@ public:
void visit_downcast_inst(ir::downcast_inst*);
void visit_exp_inst(ir::exp_inst*);
void visit_log_inst(ir::log_inst*);
void visit_get_program_id_inst(ir::get_program_id_inst*);
void visit_get_num_program_inst(ir::get_num_program_inst*);

View File

@@ -138,6 +138,7 @@ public:
value *create_atomic_exch(value *ptr, value *val, const std::string &name = "");
value *create_atomic_add(value *ptr, value *val, value *msk, const std::string &name = "");
value *create_exp(value* arg, const std::string &name = "");
value *create_log(value* arg, const std::string &name = "");
value *create_dot(value *A, value *B, value *C, const std::string &name = "");
value *create_trans(value *A, const std::vector<int> &perm = {}, const std::string &name = "");
value *create_sqrt(value *A, const std::string &name = "");

View File

@@ -129,6 +129,7 @@ enum value_id_t: unsigned {
INST_ATOMIC_ADD,
// math
INST_EXP,
INST_LOG,
// array arithmetic
INST_TRANS,
INST_REDUCE,

View File

@@ -623,6 +623,18 @@ public:
static instruction* create(value *val, const std::string &name = "", instruction *next = nullptr);
};
class log_inst: public builtin_inst {
private:
log_inst(value *val, const std::string &name = "", instruction *next = nullptr);
std::string repr_impl() const { return "log"; }
_TRITON_DEFINE_CLONE(log_inst)
_TRITON_DEFINE_ACCEPT(log_inst)
public:
static instruction* create(value *val, const std::string &name = "", instruction *next = nullptr);
};
class dot_inst: public builtin_inst {
public:
enum TransT { NoTrans, Trans };

View File

@@ -49,6 +49,7 @@ class broadcast_inst;
class downcast_inst;
class exp_inst;
class log_inst;
class get_program_id_inst;
class get_num_program_inst;
@@ -117,6 +118,7 @@ public:
virtual void visit_masked_store_inst(masked_store_inst*) = 0;
virtual void visit_exp_inst(exp_inst*) = 0;
virtual void visit_log_inst(log_inst*) = 0;
virtual void visit_reshape_inst(reshape_inst*) = 0;
virtual void visit_splat_inst(splat_inst*) = 0;

View File

@@ -167,6 +167,7 @@ public:
// function keywords
BITCAST,
EXP,
LOG,
// KEYWORD END
IDENTIFIER,