]> git.proxmox.com Git - ceph.git/blob - ceph/src/isa-l/igzip/options.asm
d86a41f3de096d1f4637027220eb00ccfba36ad2
[ceph.git] / ceph / src / isa-l / igzip / options.asm
1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ; Copyright(c) 2011-2016 Intel Corporation All rights reserved.
3 ;
4 ; Redistribution and use in source and binary forms, with or without
5 ; modification, are permitted provided that the following conditions
6 ; are met:
7 ; * Redistributions of source code must retain the above copyright
8 ; notice, this list of conditions and the following disclaimer.
9 ; * Redistributions in binary form must reproduce the above copyright
10 ; notice, this list of conditions and the following disclaimer in
11 ; the documentation and/or other materials provided with the
12 ; distribution.
13 ; * Neither the name of Intel Corporation nor the names of its
14 ; contributors may be used to endorse or promote products derived
15 ; from this software without specific prior written permission.
16 ;
17 ; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 ; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 ; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 ; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 ; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 ; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 ; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 ; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 ; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 ; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
29
30 default rel
31
32 %ifndef __OPTIONS_ASM__
33 %define __OPTIONS_ASM__
34
35 %ifndef IGZIP_USE_GZIP_FORMAT
36 %define DEFLATE
37 %endif
38
39 ; Options:dir
40 ; m - reschedule mem reads
41 ; e b - bitbuff style
42 ; t s x - compare style
43 ; h - limit hash updates
44 ; l - use longer huffman table
45 ; f - fix cache read
46
47 %ifdef LARGE_WINDOW
48 %define HIST_SIZE 32
49 %else
50 %define HIST_SIZE 8
51 %endif
52
53 %ifdef USE_BITBUFB
54 %elifdef USE_BITBUF8
55 %elifdef USE_BITBUF_ELSE
56 %else
57 ; bit buffer types
58 ; BITBUFB: (b) Always write data
59 %define USE_BITBUFB
60 %endif
61
62 ; (h) limit hash update
63 %define LIMIT_HASH_UPDATE
64
65 ; (l) longer huffman table
66 %define LONGER_HUFFTABLE
67
68 ; (f) fix cache read problem
69 %define FIX_CACHE_READ
70
71 %if (HIST_SIZE > 8)
72 %undef LONGER_HUFFTABLE
73 %endif
74
75 %define IGZIP_MAX_DEF_HDR_SIZE 328
76
77 %ifidn __OUTPUT_FORMAT__, elf64
78 %ifndef __NASM_VER__
79 %define WRT_OPT wrt ..sym
80 %else
81 %define WRT_OPT
82 %endif
83 %else
84 %define WRT_OPT
85 %endif
86
87 %endif ; ifndef __OPTIONS_ASM__