xref: /aosp_15_r20/external/lzma/CPP/7zip/Compress/BranchRegister.cpp (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // BranchRegister.cpp
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #include "StdAfx.h"
4*f6dc9357SAndroid Build Coastguard Worker 
5*f6dc9357SAndroid Build Coastguard Worker #include "../Common/RegisterCodec.h"
6*f6dc9357SAndroid Build Coastguard Worker 
7*f6dc9357SAndroid Build Coastguard Worker #include "BranchMisc.h"
8*f6dc9357SAndroid Build Coastguard Worker 
9*f6dc9357SAndroid Build Coastguard Worker namespace NCompress {
10*f6dc9357SAndroid Build Coastguard Worker namespace NBranch {
11*f6dc9357SAndroid Build Coastguard Worker 
12*f6dc9357SAndroid Build Coastguard Worker #ifdef Z7_EXTRACT_ONLY
13*f6dc9357SAndroid Build Coastguard Worker #define GET_CREATE_FUNC(x) NULL
14*f6dc9357SAndroid Build Coastguard Worker #define CREATE_BRA_E(n)
15*f6dc9357SAndroid Build Coastguard Worker #else
16*f6dc9357SAndroid Build Coastguard Worker #define GET_CREATE_FUNC(x) x
17*f6dc9357SAndroid Build Coastguard Worker #define CREATE_BRA_E(n) \
18*f6dc9357SAndroid Build Coastguard Worker     REGISTER_FILTER_CREATE(CreateBra_Encoder_ ## n, CCoder(Z7_BRANCH_CONV_ENC_2(n)))
19*f6dc9357SAndroid Build Coastguard Worker #endif
20*f6dc9357SAndroid Build Coastguard Worker 
21*f6dc9357SAndroid Build Coastguard Worker #define CREATE_BRA(n) \
22*f6dc9357SAndroid Build Coastguard Worker     REGISTER_FILTER_CREATE(CreateBra_Decoder_ ## n, CCoder(Z7_BRANCH_CONV_DEC_2(n))) \
23*f6dc9357SAndroid Build Coastguard Worker     CREATE_BRA_E(n)
24*f6dc9357SAndroid Build Coastguard Worker 
25*f6dc9357SAndroid Build Coastguard Worker CREATE_BRA(BranchConv_PPC)
CREATE_BRA(BranchConv_IA64)26*f6dc9357SAndroid Build Coastguard Worker CREATE_BRA(BranchConv_IA64)
27*f6dc9357SAndroid Build Coastguard Worker CREATE_BRA(BranchConv_ARM)
28*f6dc9357SAndroid Build Coastguard Worker CREATE_BRA(BranchConv_ARMT)
29*f6dc9357SAndroid Build Coastguard Worker CREATE_BRA(BranchConv_SPARC)
30*f6dc9357SAndroid Build Coastguard Worker 
31*f6dc9357SAndroid Build Coastguard Worker #define METHOD_ITEM(n, id, name) \
32*f6dc9357SAndroid Build Coastguard Worker     REGISTER_FILTER_ITEM( \
33*f6dc9357SAndroid Build Coastguard Worker       CreateBra_Decoder_ ## n, GET_CREATE_FUNC( \
34*f6dc9357SAndroid Build Coastguard Worker       CreateBra_Encoder_ ## n), \
35*f6dc9357SAndroid Build Coastguard Worker       0x3030000 + id, name)
36*f6dc9357SAndroid Build Coastguard Worker 
37*f6dc9357SAndroid Build Coastguard Worker REGISTER_CODECS_VAR
38*f6dc9357SAndroid Build Coastguard Worker {
39*f6dc9357SAndroid Build Coastguard Worker   METHOD_ITEM(BranchConv_PPC,   0x205, "PPC"),
40*f6dc9357SAndroid Build Coastguard Worker   METHOD_ITEM(BranchConv_IA64,  0x401, "IA64"),
41*f6dc9357SAndroid Build Coastguard Worker   METHOD_ITEM(BranchConv_ARM,   0x501, "ARM"),
42*f6dc9357SAndroid Build Coastguard Worker   METHOD_ITEM(BranchConv_ARMT,  0x701, "ARMT"),
43*f6dc9357SAndroid Build Coastguard Worker   METHOD_ITEM(BranchConv_SPARC, 0x805, "SPARC")
44*f6dc9357SAndroid Build Coastguard Worker };
45*f6dc9357SAndroid Build Coastguard Worker 
46*f6dc9357SAndroid Build Coastguard Worker REGISTER_CODECS(Branch)
47*f6dc9357SAndroid Build Coastguard Worker 
48*f6dc9357SAndroid Build Coastguard Worker 
49*f6dc9357SAndroid Build Coastguard Worker #define REGISTER_FILTER_E_BRANCH(id, n, name, alignment) \
50*f6dc9357SAndroid Build Coastguard Worker     REGISTER_FILTER_E(n, \
51*f6dc9357SAndroid Build Coastguard Worker       CDecoder(Z7_BRANCH_CONV_DEC(n), alignment), \
52*f6dc9357SAndroid Build Coastguard Worker       CEncoder(Z7_BRANCH_CONV_ENC(n), alignment), \
53*f6dc9357SAndroid Build Coastguard Worker       id, name)
54*f6dc9357SAndroid Build Coastguard Worker 
55*f6dc9357SAndroid Build Coastguard Worker REGISTER_FILTER_E_BRANCH(0xa, ARM64, "ARM64", 3)
56*f6dc9357SAndroid Build Coastguard Worker REGISTER_FILTER_E_BRANCH(0xb, RISCV, "RISCV", 1)
57*f6dc9357SAndroid Build Coastguard Worker 
58*f6dc9357SAndroid Build Coastguard Worker }}
59