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