1cf364
Name:           xsimd
676e6f
Version:        8.0.5
676e6f
Release:        2%{?dist}
1cf364
Summary:        C++ wrappers for SIMD intrinsics
1cf364
License:        BSD
1cf364
URL:            https://xsimd.readthedocs.io/
a26cc5
%global github  https://github.com/xtensor-stack/xsimd
1cf364
Source0:        %{github}/archive/%{version}/%{name}-%{version}.tar.gz
1cf364
1cf364
BuildRequires:  cmake
1cf364
BuildRequires:  gcc-c++
1cf364
BuildRequires:  gtest-devel
1cf364
BuildRequires:  gmock-devel
1cf364
1cf364
%ifarch %{arm}
1cf364
# Only used for testing, as it's a header-only package.
1cf364
%global optflags %(echo %{optflags} -mfpu=neon)
1cf364
%endif
1cf364
1cf364
# there is no actual arched content - this is a header only library
1cf364
%global debug_package %{nil}
1cf364
1cf364
# Get Fedora 33++ behavior on anything older
1cf364
%undefine __cmake_in_source_build
1cf364
1cf364
%global _description \
1cf364
SIMD (Single Instruction, Multiple Data) is a feature of microprocessors that \
1cf364
has been available for many years. SIMD instructions perform a single operation \
1cf364
on a batch of values at once, and thus provide a way to significantly \
1cf364
accelerate code execution. However, these instructions differ between \
1cf364
microprocessor vendors and compilers. \
1cf364
 \
1cf364
xsimd provides a unified means for using these features for library authors. \
1cf364
Namely, it enables manipulation of batches of numbers with the same arithmetic \
1cf364
operators as for single values. It also provides accelerated implementation \
1cf364
of common mathematical functions operating on batches. \
1cf364
1cf364
%description %_description
1cf364
1cf364
%package devel
1cf364
Summary:        %{summary}
1cf364
Provides:       %{name} = %{version}-%{release}
1cf364
Provides:       %{name}-static = %{version}-%{release}
1cf364
%description devel %_description
1cf364
1cf364
1cf364
%prep
1cf364
%autosetup -p1
1cf364
1cf364
%build
676e6f
%cmake
1cf364
%cmake_build
1cf364
1cf364
%install
1cf364
%cmake_install
1cf364
676e6f
%check
676e6f
# Explicitly not supported upstream for simd mode. Still valuable for scalar mode layer.
676e6f
1cf364
%files devel
1cf364
%doc README.md
1cf364
%license LICENSE
1cf364
%{_includedir}/%{name}/
1cf364
%{_libdir}/cmake/%{name}/
1cf364
%{_libdir}/pkgconfig/%{name}.pc
1cf364
1cf364
%changelog
a26cc5
* Wed Feb 23 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 8.0.5-2
a26cc5
- update to 8.0.5 for SSE4_2, needed by libarrow-7.0.0
a26cc5
1cf364
* Thu Jan 13 2022  Kaleb S. KEITHLEY <kkeithle [at] redhat.com> - 7.4.9-3
1cf364
- rebuild from lookaside
1cf364