intrin_rule_llvm.cc 1.05 KB
Newer Older
1 2 3 4 5 6
/*!
 *  Copyright (c) 2017 by Contributors
 * \file intrin_rule_llvm.cc
 */
#ifdef TVM_LLVM_VERSION

7
#include "./intrin_rule_llvm.h"
8 9 10 11 12

namespace tvm {
namespace codegen {
namespace llvm {

13 14 15
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.prefetch")
.set_body(DispatchLLVMIntrin<::llvm::Intrinsic::prefetch, 0>);

16
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.exp")
17
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::exp, 1>);
18

19
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.fma")
20
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::fmuladd, 1>);
21

22
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.log")
23
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::log, 1>);
24

ziheng committed
25
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.sqrt")
26
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::sqrt, 1>);
ziheng committed
27

28
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.pow")
29
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::pow, 1>);
30

31 32 33
TVM_REGISTER_GLOBAL("tvm.intrin.rule.llvm.popcount")
.set_body(DispatchLLVMPureIntrin<::llvm::Intrinsic::ctpop, 1>);

34 35 36 37 38
}  // namespace llvm
}  // namespace codegen
}  // namespace tvm

#endif  // LLVM_VERSION