]> git.proxmox.com Git - ceph.git/blob - ceph/src/isa-l/erasure_code/Makefile.am
846b06efa02072226a91a45bf3bed482858cbf92
[ceph.git] / ceph / src / isa-l / erasure_code / Makefile.am
1 ########################################################################
2 # Copyright(c) 2011-2015 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 lsrc += erasure_code/ec_highlevel_func.c \
31 erasure_code/ec_base.c \
32 erasure_code/gf_vect_mul_sse.asm \
33 erasure_code/gf_vect_mul_avx.asm \
34 erasure_code/gf_vect_dot_prod_sse.asm \
35 erasure_code/gf_vect_dot_prod_avx.asm \
36 erasure_code/gf_vect_dot_prod_avx2.asm \
37 erasure_code/gf_2vect_dot_prod_sse.asm \
38 erasure_code/gf_3vect_dot_prod_sse.asm \
39 erasure_code/gf_4vect_dot_prod_sse.asm \
40 erasure_code/gf_5vect_dot_prod_sse.asm \
41 erasure_code/gf_6vect_dot_prod_sse.asm \
42 erasure_code/gf_2vect_dot_prod_avx.asm \
43 erasure_code/gf_3vect_dot_prod_avx.asm \
44 erasure_code/gf_4vect_dot_prod_avx.asm \
45 erasure_code/gf_5vect_dot_prod_avx.asm \
46 erasure_code/gf_6vect_dot_prod_avx.asm \
47 erasure_code/gf_2vect_dot_prod_avx2.asm \
48 erasure_code/gf_3vect_dot_prod_avx2.asm \
49 erasure_code/gf_4vect_dot_prod_avx2.asm \
50 erasure_code/gf_5vect_dot_prod_avx2.asm \
51 erasure_code/gf_6vect_dot_prod_avx2.asm \
52 erasure_code/gf_vect_mad_sse.asm \
53 erasure_code/gf_2vect_mad_sse.asm \
54 erasure_code/gf_3vect_mad_sse.asm \
55 erasure_code/gf_4vect_mad_sse.asm \
56 erasure_code/gf_5vect_mad_sse.asm \
57 erasure_code/gf_6vect_mad_sse.asm \
58 erasure_code/gf_vect_mad_avx.asm \
59 erasure_code/gf_2vect_mad_avx.asm \
60 erasure_code/gf_3vect_mad_avx.asm \
61 erasure_code/gf_4vect_mad_avx.asm \
62 erasure_code/gf_5vect_mad_avx.asm \
63 erasure_code/gf_6vect_mad_avx.asm \
64 erasure_code/gf_vect_mad_avx2.asm \
65 erasure_code/gf_2vect_mad_avx2.asm \
66 erasure_code/gf_3vect_mad_avx2.asm \
67 erasure_code/gf_4vect_mad_avx2.asm \
68 erasure_code/gf_5vect_mad_avx2.asm \
69 erasure_code/gf_6vect_mad_avx2.asm \
70 erasure_code/ec_multibinary.asm
71
72 #if HAVE_AVX512
73 lsrc += erasure_code/gf_vect_dot_prod_avx512.asm \
74 erasure_code/gf_2vect_dot_prod_avx512.asm \
75 erasure_code/gf_3vect_dot_prod_avx512.asm \
76 erasure_code/gf_4vect_dot_prod_avx512.asm \
77 erasure_code/gf_vect_mad_avx512.asm \
78 erasure_code/gf_2vect_mad_avx512.asm \
79 erasure_code/gf_3vect_mad_avx512.asm \
80 erasure_code/gf_4vect_mad_avx512.asm
81
82 lsrc32 += erasure_code/ec_highlevel_func.c \
83 erasure_code/ec_multibinary.asm \
84 erasure_code/ec_base.c \
85 erasure_code/gf_vect_dot_prod_avx.asm \
86 erasure_code/gf_2vect_dot_prod_avx.asm \
87 erasure_code/gf_3vect_dot_prod_avx.asm \
88 erasure_code/gf_4vect_dot_prod_avx.asm \
89 erasure_code/gf_vect_dot_prod_sse.asm \
90 erasure_code/gf_2vect_dot_prod_sse.asm \
91 erasure_code/gf_3vect_dot_prod_sse.asm \
92 erasure_code/gf_4vect_dot_prod_sse.asm \
93 erasure_code/gf_vect_dot_prod_avx2.asm \
94 erasure_code/gf_2vect_dot_prod_avx2.asm \
95 erasure_code/gf_3vect_dot_prod_avx2.asm \
96 erasure_code/gf_4vect_dot_prod_avx2.asm
97
98 unit_tests32 += erasure_code/erasure_code_base_test \
99 erasure_code/erasure_code_test \
100 erasure_code/erasure_code_sse_test \
101 erasure_code/gf_vect_mul_test \
102 erasure_code/gf_vect_mul_base_test \
103 erasure_code/gf_vect_dot_prod_base_test \
104 erasure_code/gf_vect_dot_prod_test \
105 erasure_code/gf_vect_dot_prod_avx_test \
106 erasure_code/gf_vect_dot_prod_sse_test \
107 erasure_code/gf_2vect_dot_prod_sse_test \
108 erasure_code/gf_3vect_dot_prod_sse_test \
109 erasure_code/gf_4vect_dot_prod_sse_test
110
111 perf_tests32 += erasure_code/gf_vect_mul_perf \
112 erasure_code/gf_vect_dot_prod_perf \
113 erasure_code/erasure_code_perf \
114 erasure_code/erasure_code_base_perf \
115 erasure_code/erasure_code_sse_perf \
116 erasure_code/gf_vect_dot_prod_1tbl \
117 erasure_code/gf_vect_dot_prod_avx_perf\
118 erasure_code/gf_vect_dot_prod_sse_perf\
119 erasure_code/gf_2vect_dot_prod_sse_perf \
120 erasure_code/gf_3vect_dot_prod_sse_perf \
121 erasure_code/gf_4vect_dot_prod_sse_perf
122
123 extern_hdrs += include/erasure_code.h \
124 include/gf_vect_mul.h
125
126 other_src += erasure_code/ec_base.h \
127 include/multibinary.asm \
128 include/reg_sizes.asm
129
130 check_tests += erasure_code/gf_vect_mul_test \
131 erasure_code/erasure_code_test \
132 erasure_code/gf_inverse_test \
133 erasure_code/erasure_code_update_test
134
135 unit_tests += erasure_code/gf_vect_mul_sse_test \
136 erasure_code/gf_vect_mul_avx_test \
137 erasure_code/gf_vect_mul_base_test \
138 erasure_code/gf_vect_dot_prod_sse_test \
139 erasure_code/gf_vect_dot_prod_avx_test \
140 erasure_code/gf_2vect_dot_prod_sse_test \
141 erasure_code/gf_3vect_dot_prod_sse_test \
142 erasure_code/gf_4vect_dot_prod_sse_test \
143 erasure_code/gf_5vect_dot_prod_sse_test \
144 erasure_code/gf_6vect_dot_prod_sse_test \
145 erasure_code/gf_vect_dot_prod_base_test \
146 erasure_code/gf_vect_dot_prod_test \
147 erasure_code/gf_vect_mad_test \
148 erasure_code/erasure_code_base_test \
149 erasure_code/erasure_code_sse_test
150
151 perf_tests += erasure_code/gf_vect_mul_perf \
152 erasure_code/gf_vect_mul_sse_perf \
153 erasure_code/gf_vect_mul_avx_perf \
154 erasure_code/gf_vect_dot_prod_sse_perf \
155 erasure_code/gf_vect_dot_prod_avx_perf \
156 erasure_code/gf_2vect_dot_prod_sse_perf \
157 erasure_code/gf_3vect_dot_prod_sse_perf \
158 erasure_code/gf_4vect_dot_prod_sse_perf \
159 erasure_code/gf_5vect_dot_prod_sse_perf \
160 erasure_code/gf_6vect_dot_prod_sse_perf \
161 erasure_code/gf_vect_dot_prod_perf \
162 erasure_code/gf_vect_dot_prod_1tbl \
163 erasure_code/gf_vect_mad_perf \
164 erasure_code/erasure_code_perf \
165 erasure_code/erasure_code_base_perf \
166 erasure_code/erasure_code_sse_perf \
167 erasure_code/erasure_code_update_perf
168
169 other_src += include/test.h \
170 include/types.h