1/* These aliases added as workaround to exclude unnecessary symbol
2 aliases in libmvec.so while compiler creates the vector names
3 based on scalar asm name. Corresponding discussion is at
4 <https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html>.
5 Copyright (C) 2015-2018 Free Software Foundation, Inc.
6 This file is part of the GNU C Library.
7
8 The GNU C Library is free software; you can redistribute it and/or
9 modify it under the terms of the GNU Lesser General Public
10 License as published by the Free Software Foundation; either
11 version 2.1 of the License, or (at your option) any later version.
12
13 The GNU C Library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with the GNU C Library; if not, see
20 <http://www.gnu.org/licenses/>. */
21
22#include <sysdep.h>
23
24#define ALIAS_IMPL(alias, target) \
25ENTRY (alias); \
26 jmp *target@GOTPCREL(%rip); \
27END (alias)
28
29 .text
30ALIAS_IMPL (_ZGVbN2v___log_finite, _ZGVbN2v_log)
31ALIAS_IMPL (_ZGVcN4v___log_finite, _ZGVcN4v_log)
32ALIAS_IMPL (_ZGVdN4v___log_finite, _ZGVdN4v_log)
33ALIAS_IMPL (_ZGVeN8v___log_finite, _ZGVeN8v_log)
34
35ALIAS_IMPL (_ZGVbN4v___logf_finite, _ZGVbN4v_logf)
36ALIAS_IMPL (_ZGVcN8v___logf_finite, _ZGVcN8v_logf)
37ALIAS_IMPL (_ZGVdN8v___logf_finite, _ZGVdN8v_logf)
38ALIAS_IMPL (_ZGVeN16v___logf_finite, _ZGVeN16v_logf)
39
40ALIAS_IMPL (_ZGVbN2v___exp_finite, _ZGVbN2v_exp)
41ALIAS_IMPL (_ZGVcN4v___exp_finite, _ZGVcN4v_exp)
42ALIAS_IMPL (_ZGVdN4v___exp_finite, _ZGVdN4v_exp)
43ALIAS_IMPL (_ZGVeN8v___exp_finite, _ZGVeN8v_exp)
44
45ALIAS_IMPL (_ZGVbN4v___expf_finite, _ZGVbN4v_expf)
46ALIAS_IMPL (_ZGVcN8v___expf_finite, _ZGVcN8v_expf)
47ALIAS_IMPL (_ZGVdN8v___expf_finite, _ZGVdN8v_expf)
48ALIAS_IMPL (_ZGVeN16v___expf_finite, _ZGVeN16v_expf)
49
50ALIAS_IMPL (_ZGVbN2vv___pow_finite, _ZGVbN2vv_pow)
51ALIAS_IMPL (_ZGVcN4vv___pow_finite, _ZGVcN4vv_pow)
52ALIAS_IMPL (_ZGVdN4vv___pow_finite, _ZGVdN4vv_pow)
53ALIAS_IMPL (_ZGVeN8vv___pow_finite, _ZGVeN8vv_pow)
54
55ALIAS_IMPL (_ZGVbN4vv___powf_finite, _ZGVbN4vv_powf)
56ALIAS_IMPL (_ZGVcN8vv___powf_finite, _ZGVcN8vv_powf)
57ALIAS_IMPL (_ZGVdN8vv___powf_finite, _ZGVdN8vv_powf)
58ALIAS_IMPL (_ZGVeN16vv___powf_finite, _ZGVeN16vv_powf)
59