source: icGREP/icgrep-devel/icgrep/kernels/s2p_kernel.h @ 5063

Last change on this file since 5063 was 5063, checked in by cameron, 3 years ago

New kernel infrastructure

File size: 885 bytes
Line 
1/*
2 *  Copyright (c) 2016 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 */
5#ifndef S2P_KERNEL_H
6#define S2P_KERNEL_H
7
8#include "streamset.h"
9#include "interface.h"
10#include "kernel.h"
11
12namespace llvm { class Module; }
13
14namespace IDISA { class IDISA_Builder; }
15
16namespace kernel {
17
18class KernelBuilder;
19
20//void generateS2P_16Kernel(llvm::Module *, IDISA::IDISA_Builder * iBuilder, KernelBuilder * kBuilder);
21
22
23
24class s2pKernel : public KernelBuilder {
25public:
26    s2pKernel(IDISA::IDISA_Builder * iBuilder) :
27    KernelBuilder(iBuilder, "s2p",
28                  {StreamSetBinding{StreamSetType(1, 8), "byteStream"}},
29                  {StreamSetBinding{StreamSetType(8, 1), "basisBits"}},
30                  {}, {}, {}) {}
31   
32    void generateFinalBlockMethod();
33    void generateKernel() override;
34   
35};
36
37   
38
39}
40#endif
Note: See TracBrowser for help on using the repository browser.