]> git.proxmox.com Git - ceph.git/blame - ceph/src/isa-l/erasure_code/Makefile.am
update sources to v12.1.1
[ceph.git] / ceph / src / isa-l / erasure_code / Makefile.am
CommitLineData
7c673cae 1########################################################################
224ce89b 2# Copyright(c) 2011-2017 Intel Corporation All rights reserved.
7c673cae
FG
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
224ce89b
WB
30lsrc += erasure_code/ec_base.c
31
32lsrc_base_aliases += erasure_code/ec_base_aliases.c
33
34lsrc_x86_64 += \
35 erasure_code/ec_highlevel_func.c \
7c673cae
FG
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
224ce89b
WB
77lsrc_x86_64 += \
78 erasure_code/gf_vect_dot_prod_avx512.asm \
7c673cae
FG
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
224ce89b
WB
87lsrc_x86_32 += \
88 erasure_code/ec_highlevel_func.c \
7c673cae 89 erasure_code/ec_multibinary.asm \
7c673cae
FG
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
103unit_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
116perf_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
224ce89b 128src_include += -I $(srcdir)/erasure_code
7c673cae
FG
129extern_hdrs += include/erasure_code.h \
130 include/gf_vect_mul.h
131
132other_src += erasure_code/ec_base.h \
133 include/multibinary.asm \
134 include/reg_sizes.asm
135
136check_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
141unit_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
157perf_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
175other_src += include/test.h \
176 include/types.h