File: BranchRegister.cpp

package info (click to toggle)
lzma 24.08%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 6,472 kB
  • sloc: cpp: 78,089; ansic: 26,903; asm: 4,195; cs: 3,846; java: 3,077; makefile: 1,010; sh: 74
file content (58 lines) | stat: -rw-r--r-- 1,488 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// BranchRegister.cpp

#include "StdAfx.h"

#include "../Common/RegisterCodec.h"

#include "BranchMisc.h"

namespace NCompress {
namespace NBranch {

#ifdef Z7_EXTRACT_ONLY
#define GET_CREATE_FUNC(x) NULL
#define CREATE_BRA_E(n)
#else
#define GET_CREATE_FUNC(x) x
#define CREATE_BRA_E(n) \
    REGISTER_FILTER_CREATE(CreateBra_Encoder_ ## n, CCoder(Z7_BRANCH_CONV_ENC_2(n)))
#endif

#define CREATE_BRA(n) \
    REGISTER_FILTER_CREATE(CreateBra_Decoder_ ## n, CCoder(Z7_BRANCH_CONV_DEC_2(n))) \
    CREATE_BRA_E(n)

CREATE_BRA(BranchConv_PPC)
CREATE_BRA(BranchConv_IA64)
CREATE_BRA(BranchConv_ARM)
CREATE_BRA(BranchConv_ARMT)
CREATE_BRA(BranchConv_SPARC)

#define METHOD_ITEM(n, id, name) \
    REGISTER_FILTER_ITEM( \
      CreateBra_Decoder_ ## n, GET_CREATE_FUNC( \
      CreateBra_Encoder_ ## n), \
      0x3030000 + id, name)

REGISTER_CODECS_VAR
{
  METHOD_ITEM(BranchConv_PPC,   0x205, "PPC"),
  METHOD_ITEM(BranchConv_IA64,  0x401, "IA64"),
  METHOD_ITEM(BranchConv_ARM,   0x501, "ARM"),
  METHOD_ITEM(BranchConv_ARMT,  0x701, "ARMT"),
  METHOD_ITEM(BranchConv_SPARC, 0x805, "SPARC")
};

REGISTER_CODECS(Branch)


#define REGISTER_FILTER_E_BRANCH(id, n, name, alignment) \
    REGISTER_FILTER_E(n, \
      CDecoder(Z7_BRANCH_CONV_DEC(n), alignment), \
      CEncoder(Z7_BRANCH_CONV_ENC(n), alignment), \
      id, name)

REGISTER_FILTER_E_BRANCH(0xa, ARM64, "ARM64", 3)
REGISTER_FILTER_E_BRANCH(0xb, RISCV, "RISCV", 1)

}}