(echo '/* GNU ld script'; echo '*/';\
cat $<; \
echo 'GROUP ( $(slibdir)/libm.so$(libm.so-version) ' \
- 'AS_NEEDED ( $(libdir)/libmvec_nonshared.a $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
+ 'AS_NEEDED ( $(slibdir)/libmvec.so$(libmvec.so-version) ) )' \
) > $@.new
mv -f $@.new $@
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 svml_finite_alias
-
-libmvec-static-only-routines = svml_finite_alias
+ svml_s_sincosf8_core svml_s_sincosf16_core
endif
# Variables for libmvec tests.
ifeq ($(build-mathvec),yes)
libmvec-tests += double-vlen2 double-vlen4 double-vlen4-avx2 \
float-vlen4 float-vlen8 float-vlen8-avx2
-tests += test-double-libmvec-alias test-double-libmvec-alias-avx \
- test-double-libmvec-alias-avx2 test-double-libmvec-alias-main \
- test-double-libmvec-alias-avx-main test-double-libmvec-alias-avx2-main \
- test-float-libmvec-alias test-float-libmvec-alias-avx \
- test-float-libmvec-alias-avx2 test-float-libmvec-alias-main \
- test-float-libmvec-alias-avx-main test-float-libmvec-alias-avx2-main \
- test-double-libmvec-sincos test-double-libmvec-sincos-avx \
+tests += test-double-libmvec-sincos test-double-libmvec-sincos-avx \
test-double-libmvec-sincos-avx2 test-float-libmvec-sincosf \
test-float-libmvec-sincosf-avx test-float-libmvec-sincosf-avx2
-modules-names += test-double-libmvec-alias-mod \
- test-double-libmvec-alias-avx-mod \
- test-double-libmvec-alias-avx2-mod \
- test-float-libmvec-alias-mod \
- test-float-libmvec-alias-avx-mod \
- test-float-libmvec-alias-avx2-mod
-modules-names-tests += test-double-libmvec-alias-mod \
- test-double-libmvec-alias-avx-mod \
- test-double-libmvec-alias-avx2-mod \
- test-float-libmvec-alias-mod \
- test-float-libmvec-alias-avx-mod \
- test-float-libmvec-alias-avx2-mod
extra-test-objs += test-double-libmvec-sincos-avx-main.o \
test-double-libmvec-sincos-avx2-main.o \
test-double-libmvec-sincos-main.o \
test-float-libmvec-sincosf-avx-main.o \
test-float-libmvec-sincosf-avx2-main.o\
test-float-libmvec-sincosf-main.o
-test-double-libmvec-alias-mod.so-no-z-defs = yes
-test-double-libmvec-alias-avx-mod.so-no-z-defs = yes
-test-double-libmvec-alias-avx2-mod.so-no-z-defs = yes
-test-float-libmvec-alias-mod.so-no-z-defs = yes
-test-float-libmvec-alias-avx-mod.so-no-z-defs = yes
-test-float-libmvec-alias-avx2-mod.so-no-z-defs = yes
-
-$(objpfx)test-double-libmvec-alias: \
- $(objpfx)test-double-libmvec-alias-mod.so
-$(objpfx)test-double-libmvec-alias-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-avx: \
- $(objpfx)test-double-libmvec-alias-avx-mod.so
-$(objpfx)test-double-libmvec-alias-avx-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-avx2: \
- $(objpfx)test-double-libmvec-alias-avx2-mod.so
-$(objpfx)test-double-libmvec-alias-avx2-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-main: \
- $(objpfx)test-double-libmvec-alias-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-avx-main: \
- $(objpfx)test-double-libmvec-alias-avx-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-avx2-main: \
- $(objpfx)test-double-libmvec-alias-avx2-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias: \
- $(objpfx)test-float-libmvec-alias-mod.so
-$(objpfx)test-float-libmvec-alias-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx: \
- $(objpfx)test-float-libmvec-alias-avx-mod.so
-$(objpfx)test-float-libmvec-alias-avx-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx2: \
- $(objpfx)test-float-libmvec-alias-avx2-mod.so
-$(objpfx)test-float-libmvec-alias-avx2-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-main: \
- $(objpfx)test-float-libmvec-alias-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx-main: \
- $(objpfx)test-float-libmvec-alias-avx-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx2-main: \
- $(objpfx)test-float-libmvec-alias-avx2-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
$(objpfx)test-double-libmvec-sincos: \
$(objpfx)test-double-libmvec-sincos.o \
ifeq (yes,$(config-cflags-avx512))
libmvec-tests += double-vlen8 float-vlen16
-tests += test-double-libmvec-alias-avx512 \
- test-float-libmvec-alias-avx512 \
- test-double-libmvec-alias-avx512-main \
- test-float-libmvec-alias-avx512-main \
- test-double-libmvec-sincos-avx512 \
+tests += test-double-libmvec-sincos-avx512 \
test-float-libmvec-sincosf-avx512
-modules-names += test-double-libmvec-alias-avx512-mod \
- test-float-libmvec-alias-avx512-mod
-modules-names-tests += test-double-libmvec-alias-avx512-mod \
- test-float-libmvec-alias-avx512-mod
extra-test-objs += test-double-libmvec-sincos-avx512-main.o \
test-float-libmvec-sincosf-avx512-main.o
-test-double-libmvec-alias-avx512-mod.so-no-z-defs = yes
-test-float-libmvec-alias-avx512-mod.so-no-z-defs = yes
-
-$(objpfx)test-double-libmvec-alias-avx512: \
- $(objpfx)test-double-libmvec-alias-avx512-mod.so
-$(objpfx)test-double-libmvec-alias-avx512-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-double-libmvec-alias-avx512-main: \
- $(objpfx)test-double-libmvec-alias-avx512-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx512: \
- $(objpfx)test-float-libmvec-alias-avx512-mod.so
-$(objpfx)test-float-libmvec-alias-avx512-mod.so: \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
-
-$(objpfx)test-float-libmvec-alias-avx512-main: \
- $(objpfx)test-float-libmvec-alias-avx512-mod.os \
- $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
$(objpfx)test-double-libmvec-sincos-avx512: \
$(objpfx)test-double-libmvec-sincos-avx512.o \
float-vlen16-arch-ext-cflags = -mavx512f
libmvec-sincos-cflags = $(libm-test-fast-math-cflags) -fno-inline -fopenmp -Wno-unknown-pragmas
-libmvec-alias-cflags = $(libmvec-sincos-cflags) -ffloat-store -ffinite-math-only
-
-CFLAGS-test-double-libmvec-alias-mod.c = $(libmvec-alias-cflags)
-CFLAGS-test-double-libmvec-alias-avx-mod.c = $(double-vlen4-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX
-CFLAGS-test-double-libmvec-alias-avx2-mod.c = $(double-vlen4-arch-ext2-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX2
-CFLAGS-test-double-libmvec-alias-avx512-mod.c = $(double-vlen8-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX512F
-
-CFLAGS-test-float-libmvec-alias-mod.c = $(libmvec-alias-cflags)
-CFLAGS-test-float-libmvec-alias-avx-mod.c = $(double-vlen4-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX
-CFLAGS-test-float-libmvec-alias-avx2-mod.c = $(double-vlen4-arch-ext2-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX2
-CFLAGS-test-float-libmvec-alias-avx512-mod.c = $(double-vlen8-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX512F
CFLAGS-test-double-vlen4-avx2-wrappers.c = $(double-vlen4-arch-ext2-cflags)
shlq $4, %r15
movsd 200(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
movsd %xmm0, 264(%rsp,%r15)
jmp .LBL_1_8
shlq $4, %r15
movsd 192(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
movsd %xmm0, 256(%rsp,%r15)
jmp .LBL_1_7
vmovsd 328(%rsp,%r15), %xmm0
vzeroupper
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 392(%rsp,%r15)
jmp .LBL_1_8
vmovsd 320(%rsp,%r15), %xmm0
vzeroupper
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 384(%rsp,%r15)
jmp .LBL_1_7
movzbl %r12b, %r15d
shlq $4, %r15
vmovsd 1160(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 1224(%rsp,%r15)
jmp .LBL_1_8
movzbl %r12b, %r15d
shlq $4, %r15
vmovsd 1152(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 1216(%rsp,%r15)
jmp .LBL_1_7
#endif
vmovsd 1160(%rsp,%r15), %xmm0
vzeroupper
vmovsd 1160(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 1224(%rsp,%r15)
jmp .LBL_2_8
vmovsd 1152(%rsp,%r15), %xmm0
vzeroupper
vmovsd 1152(%rsp,%r15), %xmm0
- call JUMPTARGET(__exp_finite)
+ call JUMPTARGET(exp)
vmovsd %xmm0, 1216(%rsp,%r15)
jmp .LBL_2_7
shlq $4, %r15
movsd 200(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
movsd %xmm0, 264(%rsp,%r15)
jmp .LBL_1_8
shlq $4, %r15
movsd 192(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
movsd %xmm0, 256(%rsp,%r15)
jmp .LBL_1_7
vmovsd 328(%rsp,%r15), %xmm0
vzeroupper
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 392(%rsp,%r15)
jmp .LBL_1_8
vmovsd 320(%rsp,%r15), %xmm0
vzeroupper
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 384(%rsp,%r15)
jmp .LBL_1_7
movzbl %r12b, %r15d
shlq $4, %r15
vmovsd 1160(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 1224(%rsp,%r15)
jmp .LBL_1_8
movzbl %r12b, %r15d
shlq $4, %r15
vmovsd 1152(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 1216(%rsp,%r15)
jmp .LBL_1_7
#endif
vzeroupper
vmovsd 1160(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 1224(%rsp,%r15)
jmp .LBL_2_8
vzeroupper
vmovsd 1152(%rsp,%r15), %xmm0
- call JUMPTARGET(__log_finite)
+ call JUMPTARGET(log)
vmovsd %xmm0, 1216(%rsp,%r15)
jmp .LBL_2_7
movsd 72(%rsp,%r15), %xmm0
movsd 136(%rsp,%r15), %xmm1
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
movsd %xmm0, 200(%rsp,%r15)
jmp .LBL_1_8
movsd 64(%rsp,%r15), %xmm0
movsd 128(%rsp,%r15), %xmm1
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
movsd %xmm0, 192(%rsp,%r15)
jmp .LBL_1_7
vmovsd 264(%rsp,%r15), %xmm1
vzeroupper
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 328(%rsp,%r15)
jmp .LBL_1_8
vmovsd 256(%rsp,%r15), %xmm1
vzeroupper
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 320(%rsp,%r15)
jmp .LBL_1_7
shlq $4, %r15
vmovsd 1160(%rsp,%r15), %xmm0
vmovsd 1224(%rsp,%r15), %xmm1
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 1288(%rsp,%r15)
jmp .LBL_1_8
shlq $4, %r15
vmovsd 1152(%rsp,%r15), %xmm0
vmovsd 1216(%rsp,%r15), %xmm1
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 1280(%rsp,%r15)
jmp .LBL_1_7
vzeroupper
vmovsd 1160(%rsp,%r15), %xmm0
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 1288(%rsp,%r15)
jmp .LBL_2_8
vzeroupper
vmovsd 1152(%rsp,%r15), %xmm0
- call JUMPTARGET(__pow_finite)
+ call JUMPTARGET(pow)
vmovsd %xmm0, 1280(%rsp,%r15)
jmp .LBL_2_7
cfi_restore_state
movzbl %r12b, %r15d
vmovss 1156(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 1220(%rsp,%r15,8)
jmp .LBL_1_8
.LBL_1_12:
movzbl %r12b, %r15d
vmovss 1152(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 1216(%rsp,%r15,8)
jmp .LBL_1_7
vzeroupper
vmovss 1156(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 1220(%rsp,%r15,8)
jmp .LBL_2_8
vzeroupper
vmovss 1152(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 1216(%rsp,%r15,8)
jmp .LBL_2_7
movzbl %r12b, %r15d
movss 196(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
movss %xmm0, 260(%rsp,%r15,8)
jmp .LBL_1_8
movzbl %r12b, %r15d
movss 192(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
movss %xmm0, 256(%rsp,%r15,8)
jmp .LBL_1_7
vmovss 324(%rsp,%r15,8), %xmm0
vzeroupper
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 388(%rsp,%r15,8)
jmp .LBL_1_8
vmovss 320(%rsp,%r15,8), %xmm0
vzeroupper
- call JUMPTARGET(__expf_finite)
+ call JUMPTARGET(expf)
vmovss %xmm0, 384(%rsp,%r15,8)
jmp .LBL_1_7
cfi_restore_state
movzbl %r12b, %r15d
vmovss 1156(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 1220(%rsp,%r15,8)
jmp .LBL_1_8
.LBL_1_12:
movzbl %r12b, %r15d
vmovss 1152(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 1216(%rsp,%r15,8)
jmp .LBL_1_7
#endif
vzeroupper
vmovss 1156(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 1220(%rsp,%r15,8)
jmp .LBL_2_8
vzeroupper
vmovss 1152(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 1216(%rsp,%r15,8)
jmp .LBL_2_7
movzbl %r12b, %r15d
movss 196(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
movss %xmm0, 260(%rsp,%r15,8)
jmp .LBL_1_8
movzbl %r12b, %r15d
movss 192(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
movss %xmm0, 256(%rsp,%r15,8)
jmp .LBL_1_7
vmovss 324(%rsp,%r15,8), %xmm0
vzeroupper
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 388(%rsp,%r15,8)
jmp .LBL_1_8
vmovss 320(%rsp,%r15,8), %xmm0
vzeroupper
- call JUMPTARGET(__logf_finite)
+ call JUMPTARGET(logf)
vmovss %xmm0, 384(%rsp,%r15,8)
jmp .LBL_1_7
movzbl %r12b, %r15d
vmovss 1156(%rsp,%r15,8), %xmm0
vmovss 1220(%rsp,%r15,8), %xmm1
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 1284(%rsp,%r15,8)
jmp .LBL_1_8
movzbl %r12b, %r15d
vmovss 1152(%rsp,%r15,8), %xmm0
vmovss 1216(%rsp,%r15,8), %xmm1
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 1280(%rsp,%r15,8)
jmp .LBL_1_7
#endif
vmovss 1156(%rsp,%r15,8), %xmm1
vzeroupper
vmovss 1092(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 1220(%rsp,%r15,8)
jmp .LBL_2_8
vmovss 1152(%rsp,%r15,8), %xmm1
vzeroupper
vmovss 1088(%rsp,%r15,8), %xmm0
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 1216(%rsp,%r15,8)
jmp .LBL_2_7
#endif
movss 68(%rsp,%r15,8), %xmm0
movss 132(%rsp,%r15,8), %xmm1
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
movss %xmm0, 196(%rsp,%r15,8)
jmp .LBL_1_8
movss 64(%rsp,%r15,8), %xmm0
movss 128(%rsp,%r15,8), %xmm1
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
movss %xmm0, 192(%rsp,%r15,8)
jmp .LBL_1_7
vmovss 132(%rsp,%r15,8), %xmm1
vzeroupper
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 196(%rsp,%r15,8)
jmp .LBL_1_8
vmovss 128(%rsp,%r15,8), %xmm1
vzeroupper
- call JUMPTARGET(__powf_finite)
+ call JUMPTARGET(powf)
vmovss %xmm0, 192(%rsp,%r15,8)
jmp .LBL_1_7
.text
ENTRY (_ZGVbN2v_exp)
-WRAPPER_IMPL_SSE2 __exp_finite
+WRAPPER_IMPL_SSE2 exp
END (_ZGVbN2v_exp)
#ifndef USE_MULTIARCH
.text
ENTRY (_ZGVbN2v_log)
-WRAPPER_IMPL_SSE2 __log_finite
+WRAPPER_IMPL_SSE2 log
END (_ZGVbN2v_log)
#ifndef USE_MULTIARCH
.text
ENTRY (_ZGVbN2vv_pow)
-WRAPPER_IMPL_SSE2_ff __pow_finite
+WRAPPER_IMPL_SSE2_ff pow
END (_ZGVbN2vv_pow)
#ifndef USE_MULTIARCH
+++ /dev/null
-/* 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-2019 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
- <https://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-#define ALIAS_IMPL(alias, target) \
-ENTRY (alias); \
- jmp *target@GOTPCREL(%rip); \
-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)
.text
ENTRY (_ZGVbN4v_expf)
-WRAPPER_IMPL_SSE2 __expf_finite
+WRAPPER_IMPL_SSE2 expf
END (_ZGVbN4v_expf)
#ifndef USE_MULTIARCH
.text
ENTRY (_ZGVbN4v_logf)
-WRAPPER_IMPL_SSE2 __logf_finite
+WRAPPER_IMPL_SSE2 logf
END (_ZGVbN4v_logf)
#ifndef USE_MULTIARCH
.text
ENTRY (_ZGVbN4vv_powf)
-WRAPPER_IMPL_SSE2_ff __powf_finite
+WRAPPER_IMPL_SSE2_ff powf
END (_ZGVbN4vv_powf)
#ifndef USE_MULTIARCH
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-#include "test-double-libmvec-alias.c"
+++ /dev/null
-/* Part of test to build shared library to ensure link against
- *_finite aliases from libmvec.
- Copyright (C) 2016-2019 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
- <https://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <stdlib.h>
-#include <math-tests-arch.h>
-
-#include "test-double.h"
-#include "test-libmvec-alias-mod.c"
+++ /dev/null
-/* Part of test to ensure link against *_finite aliases from libmvec.
- Copyright (C) 2016-2019 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
- <https://www.gnu.org/licenses/>. */
-
-extern int
-test_finite_alias (void);
-
-static int
-do_test (void)
-{
- return test_finite_alias ();
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../../../test-skeleton.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias-mod.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-#include "test-float-libmvec-alias.c"
+++ /dev/null
-/* Part of test to build shared library to ensure link against
- *_finite aliases from libmvec.
- Copyright (C) 2016-2019 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
- <https://www.gnu.org/licenses/>. */
-
-#include <math.h>
-#include <stdlib.h>
-#include <math-tests-arch.h>
-
-#include "test-float.h"
-#include "test-libmvec-alias-mod.c"
+++ /dev/null
-/* Part of test to ensure link against *_finite aliases from libmvec.
- Copyright (C) 2016-2019 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
- <https://www.gnu.org/licenses/>. */
-
-extern int
-test_finite_alias (void);
-
-static int
-do_test (void)
-{
- return test_finite_alias ();
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../../../test-skeleton.c"
+++ /dev/null
-/* Part of test to build shared library to ensure link against
- *_finite aliases from libmvec.
- Copyright (C) 2016-2019 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
- <https://www.gnu.org/licenses/>. */
-
-#define N 4000
-FLOAT log_arg[N];
-FLOAT exp_arg[N];
-FLOAT log_res[N];
-FLOAT exp_res[N];
-FLOAT pow_res[N];
-int arch_check = 1;
-
-static void
-init_arg (void)
-{
- int i;
-
- CHECK_ARCH_EXT;
-
- arch_check = 0;
-
- for (i = 0; i < N; i += 1)
- {
- log_arg[i] = 1.0;
- exp_arg[i] = 0.0;
- }
-}
-
-int
-test_finite_alias (void)
-{
- int i;
-
- init_arg ();
-
- if (arch_check) return 77;
-
-#pragma omp simd
- for (i = 0; i < N; i += 1)
- {
- log_res[i] = FUNC (log) (log_arg[i]);
- exp_res[i] = FUNC (exp) (exp_arg[i]);
- pow_res[i] = FUNC (pow) (log_arg[i], log_arg[i]);
- }
-
- if (log_res[0] != 0.0) return 1;
- if (exp_res[0] != 1.0) return 1;
- if (pow_res[0] != 1.0) return 1;
-
- return 0;
-}