
file(GLOB jitcode_cc_srcs RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.cc")

cc_library(jit_kernel_jitcode SRCS ${jitcode_cc_srcs} DEPS jit_kernel_base xbyak)
set(JIT_KERNEL_DEPS ${JIT_KERNEL_DEPS} xbyak jit_kernel_jitcode PARENT_SCOPE)

function(USE_JITKERNEL_GEN_LITE TARGET)
    file(APPEND ${jit_file} "USE_JITKERNEL_GEN_LITE(${TARGET});\n")
endfunction()

# use gen jitcode kernel by name
USE_JITKERNEL_GEN_LITE(kMatMul)
USE_JITKERNEL_GEN_LITE(kVMul)
USE_JITKERNEL_GEN_LITE(kVAdd)
USE_JITKERNEL_GEN_LITE(kVSub)
USE_JITKERNEL_GEN_LITE(kVAddRelu)
USE_JITKERNEL_GEN_LITE(kVScal)
USE_JITKERNEL_GEN_LITE(kVAddBias)
USE_JITKERNEL_GEN_LITE(kVRelu)
USE_JITKERNEL_GEN_LITE(kVSquare)
USE_JITKERNEL_GEN_LITE(kVIdentity)
USE_JITKERNEL_GEN_LITE(kVExp)
USE_JITKERNEL_GEN_LITE(kVSigmoid)
USE_JITKERNEL_GEN_LITE(kVTanh)
USE_JITKERNEL_GEN_LITE(kLSTMCtHt)
USE_JITKERNEL_GEN_LITE(kLSTMC1H1)
USE_JITKERNEL_GEN_LITE(kGRUH1)
USE_JITKERNEL_GEN_LITE(kGRUHtPart1)
USE_JITKERNEL_GEN_LITE(kGRUHtPart2)
USE_JITKERNEL_GEN_LITE(kNCHW16CMulNC)
USE_JITKERNEL_GEN_LITE(kSeqPool)
USE_JITKERNEL_GEN_LITE(kHMax)
USE_JITKERNEL_GEN_LITE(kHSum)
USE_JITKERNEL_GEN_LITE(kEmbSeqPool)
USE_JITKERNEL_GEN_LITE(kSgd)
USE_JITKERNEL_GEN_LITE(kVBroadcast)
