source: icGREP/icgrep-devel/icgrep/IR_Gen/idisa_i64_builder.h @ 5350

Last change on this file since 5350 was 5350, checked in by nmedfort, 2 years ago

First attempt at inlining all DoBlock? and FinalBlock? functions by using indirect jumps. Disabled for NVPTX until Linda can check whether they're supported by the LLVM NVPTX library.

File size: 826 bytes
Line 
1#ifndef IDISA_I64_BUILDER_H
2#define IDISA_I64_BUILDER_H
3
4/*
5 *  Copyright (c) 2015 International Characters.
6 *  This software is licensed to the public under the Open Software License 3.0.
7 *  icgrep is a trademark of International Characters.
8 */
9#include <IR_Gen/idisa_builder.h>
10
11using namespace llvm;
12
13namespace IDISA {
14
15class IDISA_I64_Builder : public IDISA_Builder {
16public:
17 
18    IDISA_I64_Builder(Module * m, unsigned archBitWidth, unsigned bitBlockWidth = 64, unsigned stride = 64, const bool SupportsIndirectBr = true)
19    : IDISA_Builder(m, archBitWidth, bitBlockWidth, stride, SupportsIndirectBr) {
20    } 
21
22    Value * hsimd_packh(unsigned fw, Value * a, Value * b) override;
23    Value * hsimd_packl(unsigned fw, Value * a, Value * b) override;
24    ~IDISA_I64_Builder() {}
25
26};
27
28}
29
30#endif // IDISA_I64_BUILDER_H
Note: See TracBrowser for help on using the repository browser.