+diff --git a/sysdeps/x86/fpu/bits/math-vector.h b/sysdeps/x86/fpu/bits/math-vector.h
+index f9e798b..f3bfb86 100644
+--- a/sysdeps/x86/fpu/bits/math-vector.h
++++ b/sysdeps/x86/fpu/bits/math-vector.h
+@@ -53,34 +53,5 @@
+ # undef __DECL_SIMD_powf
+ # define __DECL_SIMD_powf __DECL_SIMD_x86_64
+
+-/* Workaround to exclude unnecessary symbol aliases in libmvec
+- while GCC creates the vector names based on scalar asm name.
+- Corresponding discussion started at
+- <https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html>. */
+-__asm__ ("_ZGVbN2v___log_finite = _ZGVbN2v_log");
+-__asm__ ("_ZGVcN4v___log_finite = _ZGVcN4v_log");
+-__asm__ ("_ZGVdN4v___log_finite = _ZGVdN4v_log");
+-__asm__ ("_ZGVeN8v___log_finite = _ZGVeN8v_log");
+-__asm__ ("_ZGVbN4v___logf_finite = _ZGVbN4v_logf");
+-__asm__ ("_ZGVcN8v___logf_finite = _ZGVcN8v_logf");
+-__asm__ ("_ZGVdN8v___logf_finite = _ZGVdN8v_logf");
+-__asm__ ("_ZGVeN16v___logf_finite = _ZGVeN16v_logf");
+-__asm__ ("_ZGVbN2v___exp_finite = _ZGVbN2v_exp");
+-__asm__ ("_ZGVcN4v___exp_finite = _ZGVcN4v_exp");
+-__asm__ ("_ZGVdN4v___exp_finite = _ZGVdN4v_exp");
+-__asm__ ("_ZGVeN8v___exp_finite = _ZGVeN8v_exp");
+-__asm__ ("_ZGVbN4v___expf_finite = _ZGVbN4v_expf");
+-__asm__ ("_ZGVcN8v___expf_finite = _ZGVcN8v_expf");
+-__asm__ ("_ZGVdN8v___expf_finite = _ZGVdN8v_expf");
+-__asm__ ("_ZGVeN16v___expf_finite = _ZGVeN16v_expf");
+-__asm__ ("_ZGVbN2vv___pow_finite = _ZGVbN2vv_pow");
+-__asm__ ("_ZGVcN4vv___pow_finite = _ZGVcN4vv_pow");
+-__asm__ ("_ZGVdN4vv___pow_finite = _ZGVdN4vv_pow");
+-__asm__ ("_ZGVeN8vv___pow_finite = _ZGVeN8vv_pow");
+-__asm__ ("_ZGVbN4vv___powf_finite = _ZGVbN4vv_powf");
+-__asm__ ("_ZGVcN8vv___powf_finite = _ZGVcN8vv_powf");
+-__asm__ ("_ZGVdN8vv___powf_finite = _ZGVdN8vv_powf");
+-__asm__ ("_ZGVeN16vv___powf_finite = _ZGVeN16vv_powf");
+-
+ # endif
+ #endif
+diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
+index 1ebe511..b32b852 100644
+--- a/sysdeps/x86_64/fpu/Makefile
++++ b/sysdeps/x86_64/fpu/Makefile
+@@ -20,7 +20,10 @@ libmvec-support += svml_d_cos2_core svml_d_cos4_core_avx \
+ svml_d_pow_data svml_s_powf4_core svml_s_powf8_core_avx \
+ svml_s_powf8_core svml_s_powf16_core svml_s_powf_data \
+ svml_s_sincosf4_core svml_s_sincosf8_core_avx \
+- svml_s_sincosf8_core svml_s_sincosf16_core init-arch
++ svml_s_sincosf8_core svml_s_sincosf16_core init-arch \
++ svml_finite_alias
++
++libmvec-static-only-routines = svml_finite_alias
+ endif
+
+ # Variables for libmvec tests.
+diff --git a/sysdeps/x86_64/fpu/svml_finite_alias.S b/sysdeps/x86_64/fpu/svml_finite_alias.S
+new file mode 100644
+index 0000000..f8bcfeb
+--- /dev/null
++++ b/sysdeps/x86_64/fpu/svml_finite_alias.S
+@@ -0,0 +1,59 @@
++/* These aliases added as workaround to exclude unnecessary symbol
++ aliases in libmvec.so while compiler creates the vector names
++ based on scalar asm name. Corresponding discussion is at
++ <https://gcc.gnu.org/ml/gcc/2015-06/msg00173.html>.
++ Copyright (C) 2015 Free Software Foundation, Inc.
++ This file is part of the GNU C Library.
++
++ The GNU C Library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Lesser General Public
++ License as published by the Free Software Foundation; either
++ version 2.1 of the License, or (at your option) any later version.
++
++ The GNU C Library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ Lesser General Public License for more details.
++
++ You should have received a copy of the GNU Lesser General Public
++ License along with the GNU C Library; if not, see
++ <http://www.gnu.org/licenses/>. */
++
++#include <sysdep.h>
++
++#define ALIAS_IMPL(alias, target) \
++ENTRY (alias); \
++ call target; \
++ ret; \
++END (alias)
++
++ .text
++ALIAS_IMPL (_ZGVbN2v___log_finite, _ZGVbN2v_log)
++ALIAS_IMPL (_ZGVcN4v___log_finite, _ZGVcN4v_log)
++ALIAS_IMPL (_ZGVdN4v___log_finite, _ZGVdN4v_log)
++ALIAS_IMPL (_ZGVeN8v___log_finite, _ZGVeN8v_log)
++
++ALIAS_IMPL (_ZGVbN4v___logf_finite, _ZGVbN4v_logf)
++ALIAS_IMPL (_ZGVcN8v___logf_finite, _ZGVcN8v_logf)
++ALIAS_IMPL (_ZGVdN8v___logf_finite, _ZGVdN8v_logf)
++ALIAS_IMPL (_ZGVeN16v___logf_finite, _ZGVeN16v_logf)
++
++ALIAS_IMPL (_ZGVbN2v___exp_finite, _ZGVbN2v_exp)
++ALIAS_IMPL (_ZGVcN4v___exp_finite, _ZGVcN4v_exp)
++ALIAS_IMPL (_ZGVdN4v___exp_finite, _ZGVdN4v_exp)
++ALIAS_IMPL (_ZGVeN8v___exp_finite, _ZGVeN8v_exp)
++
++ALIAS_IMPL (_ZGVbN4v___expf_finite, _ZGVbN4v_expf)
++ALIAS_IMPL (_ZGVcN8v___expf_finite, _ZGVcN8v_expf)
++ALIAS_IMPL (_ZGVdN8v___expf_finite, _ZGVdN8v_expf)
++ALIAS_IMPL (_ZGVeN16v___expf_finite, _ZGVeN16v_expf)
++
++ALIAS_IMPL (_ZGVbN2vv___pow_finite, _ZGVbN2vv_pow)
++ALIAS_IMPL (_ZGVcN4vv___pow_finite, _ZGVcN4vv_pow)
++ALIAS_IMPL (_ZGVdN4vv___pow_finite, _ZGVdN4vv_pow)
++ALIAS_IMPL (_ZGVeN8vv___pow_finite, _ZGVeN8vv_pow)
++
++ALIAS_IMPL (_ZGVbN4vv___powf_finite, _ZGVbN4vv_powf)
++ALIAS_IMPL (_ZGVcN8vv___powf_finite, _ZGVcN8vv_powf)
++ALIAS_IMPL (_ZGVdN8vv___powf_finite, _ZGVdN8vv_powf)
++ALIAS_IMPL (_ZGVeN16vv___powf_finite, _ZGVeN16vv_powf)