mirror of
https://github.com/mborgerding/kissfft.git
synced 2026-05-25 13:08:42 -04:00
loongarch: add lsx simd opt
This commit is contained in:
27
Makefile
27
Makefile
@@ -72,6 +72,11 @@ ifneq ($(MAKECMDGOALS),clean)
|
||||
ifeq ($(_UNAME_ARCH),x86_64)
|
||||
CANDIDATE_LIBDIR_NAME = lib64
|
||||
endif
|
||||
ifeq ($(_UNAME_ARCH),loongarch64)
|
||||
CANDIDATE_LIBDIR_NAME = lib64
|
||||
HAVE_LSX=lsx
|
||||
export HAVE_LSX
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -127,7 +132,11 @@ ifeq "$(KISSFFT_DATATYPE)" "int32_t"
|
||||
else ifeq "$(KISSFFT_DATATYPE)" "int16_t"
|
||||
TYPEFLAGS += -DFIXED_POINT=16
|
||||
else ifeq "$(KISSFFT_DATATYPE)" "simd"
|
||||
ifeq "$(HAVE_LSX)" "lsx"
|
||||
TYPEFLAGS += -DUSE_SIMD=1 -DHAVE_LSX=1 -mlsx
|
||||
else
|
||||
TYPEFLAGS += -DUSE_SIMD=1 -msse
|
||||
endif
|
||||
else ifeq "$(KISSFFT_DATATYPE)" "float"
|
||||
TYPEFLAGS += -Dkiss_fft_scalar=$(KISSFFT_DATATYPE)
|
||||
else ifeq "$(KISSFFT_DATATYPE)" "double"
|
||||
@@ -273,21 +282,33 @@ testall:
|
||||
$(MAKE) KISSFFT_DATATYPE=int16_t testsingle
|
||||
# The simd and int32_t types may or may not work on your machine
|
||||
$(MAKE) KISSFFT_DATATYPE=int32_t testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=simd testsingle
|
||||
@if [ "$(HAVE_LSX)" = "lsx" ]; then \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd HAVE_LSX=lsx testsingle; \
|
||||
else \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd testsingle; \
|
||||
fi
|
||||
# Static libraries
|
||||
$(MAKE) KISSFFT_DATATYPE=double KISSFFT_STATIC=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=float KISSFFT_STATIC=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=int16_t KISSFFT_STATIC=1 testsingle
|
||||
# The simd and int32_t types may or may not work on your machine
|
||||
$(MAKE) KISSFFT_DATATYPE=int32_t KISSFFT_STATIC=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=simd KISSFFT_STATIC=1 testsingle
|
||||
@if [ "$(HAVE_LSX)" = "lsx" ]; then \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd HAVE_LSX=lsx KISSFFT_STATIC=1 testsingle; \
|
||||
else \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd KISSFFT_STATIC=1 testsingle; \
|
||||
fi
|
||||
# OpenMP libraries
|
||||
$(MAKE) KISSFFT_DATATYPE=double KISSFFT_OPENMP=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=float KISSFFT_OPENMP=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=int16_t KISSFFT_OPENMP=1 testsingle
|
||||
# The simd and int32_t types may or may not work on your machine
|
||||
$(MAKE) KISSFFT_DATATYPE=int32_t KISSFFT_OPENMP=1 testsingle
|
||||
$(MAKE) KISSFFT_DATATYPE=simd KISSFFT_OPENMP=1 testsingle
|
||||
@if [ "$(HAVE_LSX)" = "lsx" ]; then \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd HAVE_LSX=lsx KISSFFT_OPENMP=1 testsingle; \
|
||||
else \
|
||||
$(MAKE) KISSFFT_DATATYPE=simd KISSFFT_OPENMP=1 testsingle; \
|
||||
fi
|
||||
$(warning All tests passed!)
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user