Compare commits
No commits in common. "rawhide" and "f31" have entirely different histories.
11 changed files with 477 additions and 160 deletions
|
|
@ -1 +0,0 @@
|
|||
1
|
||||
29
1091.patch
29
1091.patch
|
|
@ -1,29 +0,0 @@
|
|||
From 49bcf64aed77285962352786d6a94e2bef57f8e0 Mon Sep 17 00:00:00 2001
|
||||
From: serge-sans-paille <serge.guelton@telecom-bretagne.eu>
|
||||
Date: Tue, 4 Mar 2025 20:42:44 +0100
|
||||
Subject: [PATCH] Fix copy-pasted headers
|
||||
|
||||
---
|
||||
include/xsimd/arch/xsimd_avx512ifma.hpp | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/include/xsimd/arch/xsimd_avx512ifma.hpp b/include/xsimd/arch/xsimd_avx512ifma.hpp
|
||||
index df382881b..206319348 100644
|
||||
--- a/include/xsimd/arch/xsimd_avx512ifma.hpp
|
||||
+++ b/include/xsimd/arch/xsimd_avx512ifma.hpp
|
||||
@@ -9,12 +9,12 @@
|
||||
* The full license is in the file LICENSE, distributed with this software. *
|
||||
****************************************************************************/
|
||||
|
||||
-#ifndef XSIMD_AVX512VBMI_HPP
|
||||
-#define XSIMD_AVX512VBMI_HPP
|
||||
+#ifndef XSIMD_AVX512IFMA_HPP
|
||||
+#define XSIMD_AVX512IFMA_HPP
|
||||
|
||||
#include <array>
|
||||
#include <type_traits>
|
||||
|
||||
-#include "../types/xsimd_avx512vbmi_register.hpp"
|
||||
+#include "../types/xsimd_avx512ifma_register.hpp"
|
||||
|
||||
#endif
|
||||
419
292.patch
Normal file
419
292.patch
Normal file
|
|
@ -0,0 +1,419 @@
|
|||
From da7ab060cbcf57a20adf1c7d5b013658183f8bc5 Mon Sep 17 00:00:00 2001
|
||||
From: Johan Mabille <johan.mabille@gmail.com>
|
||||
Date: Wed, 3 Jul 2019 17:09:58 +0200
|
||||
Subject: [PATCH] Disabled most of the tests when no SIMD instruction set is
|
||||
available
|
||||
|
||||
---
|
||||
.travis.yml | 11 ++++++++++
|
||||
.../xsimd/config/xsimd_instruction_set.hpp | 8 ++++---
|
||||
include/xsimd/memory/xsimd_alignment.hpp | 2 +-
|
||||
include/xsimd/memory/xsimd_load_store.hpp | 2 +-
|
||||
include/xsimd/types/xsimd_types_include.hpp | 2 +-
|
||||
test/xsimd_algorithms.cpp | 22 +++++++++++++------
|
||||
test/xsimd_api_test.cpp | 2 +-
|
||||
test/xsimd_basic_math_test.cpp | 5 ++++-
|
||||
test/xsimd_error_gamma_test.cpp | 5 ++++-
|
||||
test/xsimd_exponential_test.cpp | 5 ++++-
|
||||
test/xsimd_fp_manipulation_test.cpp | 5 ++++-
|
||||
test/xsimd_hyperbolic_test.cpp | 5 ++++-
|
||||
test/xsimd_interface_test.cpp | 3 +++
|
||||
test/xsimd_memory_test.cpp | 3 +++
|
||||
test/xsimd_power_test.cpp | 5 ++++-
|
||||
test/xsimd_rounding_test.cpp | 5 ++++-
|
||||
test/xsimd_trigonometric_test.cpp | 5 ++++-
|
||||
17 files changed, 73 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/.travis.yml b/.travis.yml
|
||||
index d155b05..36bd25d 100644
|
||||
--- a/.travis.yml
|
||||
+++ b/.travis.yml
|
||||
@@ -18,6 +18,14 @@ matrix:
|
||||
packages:
|
||||
- g++-5
|
||||
env: COMPILER=gcc GCC=5
|
||||
+ - os: linux
|
||||
+ addons:
|
||||
+ apt:
|
||||
+ sources:
|
||||
+ - ubuntu-toolchain-r-test
|
||||
+ packages:
|
||||
+ - g++-6
|
||||
+ env: COMPILER=gcc GCC=6 FORCE_NO_INSTR_SET=1
|
||||
- os: linux
|
||||
addons:
|
||||
apt:
|
||||
@@ -175,6 +183,9 @@ install:
|
||||
else
|
||||
cmake . -DDOWNLOAD_GTEST=ON ;
|
||||
fi
|
||||
+ - if [[ "$FORCE_NO_INSTR_SET" == 1 ]] ; then
|
||||
+ cmake . -DDOWNLOAD_GTEST=ON -DXSIMD_FORCE_X86_INSTR_SET=0 ;
|
||||
+ fi
|
||||
- make -j2 test_xsimd
|
||||
- cd test
|
||||
script:
|
||||
diff --git a/include/xsimd/config/xsimd_instruction_set.hpp b/include/xsimd/config/xsimd_instruction_set.hpp
|
||||
index ca0f1c1..627537b 100644
|
||||
--- a/include/xsimd/config/xsimd_instruction_set.hpp
|
||||
+++ b/include/xsimd/config/xsimd_instruction_set.hpp
|
||||
@@ -138,7 +138,9 @@
|
||||
* PPC INSTRUCTION SET *
|
||||
***********************/
|
||||
|
||||
-#define XSIMD_PPC_VMX_VERSION XSIMD_VERSION_NUMBER(1, 0, 0)
|
||||
+// We haven't implemented any support for PPC, so we should
|
||||
+// not enable detection for this instructoin set
|
||||
+/*#define XSIMD_PPC_VMX_VERSION XSIMD_VERSION_NUMBER(1, 0, 0)
|
||||
#define XSIMD_PPC_VSX_VERSION XSIMD_VERSION_NUMBER(1, 1, 0)
|
||||
#define XSIMD_PPC_QPX_VERSION XSIMD_VERSION_NUMBER(2, 0, 0)
|
||||
|
||||
@@ -161,7 +163,7 @@
|
||||
#define XSIMD_PPC_INSTR_SET XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
#else
|
||||
#define XSIMD_PPC_INSTR_SET_AVAILABLE XSIMD_VERSION_NUMBER_AVAILABLE
|
||||
-#endif
|
||||
+#endif*/
|
||||
|
||||
/***********************
|
||||
* ARM INSTRUCTION SET *
|
||||
@@ -224,7 +226,7 @@
|
||||
|
||||
#if !defined(XSIMD_INSTR_SET)
|
||||
#define XSIMD_INSTR_SET XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
-#else
|
||||
+#elif XSIMD_INSTR_SET != XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
#define XSIMD_INSTR_SET_AVAILABLE XSIMD_VERSION_NUMBER_AVAILABLE
|
||||
#endif
|
||||
|
||||
diff --git a/include/xsimd/memory/xsimd_alignment.hpp b/include/xsimd/memory/xsimd_alignment.hpp
|
||||
index bff50ea..301d72a 100644
|
||||
--- a/include/xsimd/memory/xsimd_alignment.hpp
|
||||
+++ b/include/xsimd/memory/xsimd_alignment.hpp
|
||||
@@ -40,7 +40,7 @@ namespace xsimd
|
||||
using type = unaligned_mode;
|
||||
};
|
||||
|
||||
-#if defined(XSIMD_X86_INSTR_SET_AVAILABLE) || defined(XSIMD_ARM_INSTR_SET_AVAILABLE)
|
||||
+#if defined(XSIMD_DEFAULT_ALIGNMENT)
|
||||
template <class T>
|
||||
struct allocator_alignment<aligned_allocator<T, XSIMD_DEFAULT_ALIGNMENT>>
|
||||
{
|
||||
diff --git a/include/xsimd/memory/xsimd_load_store.hpp b/include/xsimd/memory/xsimd_load_store.hpp
|
||||
index b4b6773..45d5e33 100644
|
||||
--- a/include/xsimd/memory/xsimd_load_store.hpp
|
||||
+++ b/include/xsimd/memory/xsimd_load_store.hpp
|
||||
@@ -598,7 +598,7 @@ namespace xsimd
|
||||
{
|
||||
}
|
||||
|
||||
-#if defined(XSIMD_X86_INSTR_SET_AVAILABLE)
|
||||
+#if XSIMD_X86_INSTR_SET > XSIMD_INSTR_SET_NOT_AVAILABLE
|
||||
|
||||
template <>
|
||||
inline void prefetch<int32_t>(const int32_t* address)
|
||||
diff --git a/include/xsimd/types/xsimd_types_include.hpp b/include/xsimd/types/xsimd_types_include.hpp
|
||||
index 39f0a2d..965320c 100644
|
||||
--- a/include/xsimd/types/xsimd_types_include.hpp
|
||||
+++ b/include/xsimd/types/xsimd_types_include.hpp
|
||||
@@ -67,7 +67,7 @@
|
||||
#include "xsimd_neon_complex.hpp"
|
||||
#endif
|
||||
|
||||
-#if XSIMD_ARM_INSTR_SET == XSIMD_VERSION_NUMBER_NOT_AVAILABLE && XSIMD_X86_INSTR_SET == XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
+#if !defined(XSIMD_INSTR_SET_AVAILABLE)
|
||||
#if defined(XSIMD_ENABLE_FALLBACK)
|
||||
#warning "No SIMD instructions enabled, using fallback mode."
|
||||
#else
|
||||
diff --git a/test/xsimd_algorithms.cpp b/test/xsimd_algorithms.cpp
|
||||
index 75f4e8c..07a4ff1 100644
|
||||
--- a/test/xsimd_algorithms.cpp
|
||||
+++ b/test/xsimd_algorithms.cpp
|
||||
@@ -32,12 +32,20 @@ struct unary_functor
|
||||
}
|
||||
};
|
||||
|
||||
+#ifdef XSIMD_DEFAULT_ALIGNMENT
|
||||
+template <class T>
|
||||
+using test_allocator_type = xsimd::aligned_allocator<T, XSIMD_DEFAULT_ALIGNMENT>;
|
||||
+#else
|
||||
+template <class T>
|
||||
+using test_allocator_type = std::allocator<T>;
|
||||
+#endif
|
||||
+
|
||||
TEST(xsimd, binary_transform)
|
||||
{
|
||||
std::vector<double> expected(93);
|
||||
|
||||
std::vector<double> a(93, 123), b(93, 123), c(93);
|
||||
- std::vector<double, xsimd::aligned_allocator<double, XSIMD_DEFAULT_ALIGNMENT>> aa(93, 123), ba(93, 123), ca(93);
|
||||
+ std::vector<double, test_allocator_type<double>> aa(93, 123), ba(93, 123), ca(93);
|
||||
|
||||
std::transform(a.begin(), a.end(), b.begin(), expected.begin(),
|
||||
binary_functor{});
|
||||
@@ -83,7 +91,7 @@ TEST(xsimd, unary_transform)
|
||||
{
|
||||
std::vector<double> expected(93);
|
||||
std::vector<double> a(93, 123), c(93);
|
||||
- std::vector<double, xsimd::aligned_allocator<double, XSIMD_DEFAULT_ALIGNMENT>> aa(93, 123), ca(93);
|
||||
+ std::vector<double, test_allocator_type<double>> aa(93, 123), ca(93);
|
||||
|
||||
std::transform(a.begin(), a.end(), expected.begin(),
|
||||
unary_functor{});
|
||||
@@ -112,7 +120,7 @@ TEST(xsimd, unary_transform)
|
||||
class xsimd_reduce : public ::testing::Test
|
||||
{
|
||||
public:
|
||||
- using aligned_vec_t = std::vector<double, xsimd::aligned_allocator<double, XSIMD_DEFAULT_ALIGNMENT>>;
|
||||
+ using aligned_vec_t = std::vector<double, test_allocator_type<double>>;
|
||||
|
||||
static constexpr std::size_t num_elements = 4 * xsimd::simd_traits<double>::size;
|
||||
static constexpr std::size_t small_num = xsimd::simd_traits<double>::size - 1;
|
||||
@@ -211,11 +219,10 @@ TEST_F(xsimd_reduce, using_custom_binary_function)
|
||||
}
|
||||
}
|
||||
|
||||
+#if XSIMD_X86_INSTR_SET > XSIMD_VERSION_NUMBER_NOT_AVAILABLE || XSIMD_ARM_INSTR_SET > XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
TEST(xsimd, iterator)
|
||||
{
|
||||
- std::vector<float, xsimd::aligned_allocator<float, XSIMD_DEFAULT_ALIGNMENT>> a(10 * 16, 0.2);
|
||||
- std::vector<float, xsimd::aligned_allocator<float, XSIMD_DEFAULT_ALIGNMENT>> b(1000, 2.);
|
||||
- std::vector<float, xsimd::aligned_allocator<float, XSIMD_DEFAULT_ALIGNMENT>> c(1000, 3.);
|
||||
+ std::vector<float, test_allocator_type<float>> a(10 * 16, 0.2), b(1000, 2.), c(1000, 3.);
|
||||
|
||||
std::iota(a.begin(), a.end(), 0.f);
|
||||
std::vector<float> a_cpy(a.begin(), a.end());
|
||||
@@ -245,7 +252,7 @@ TEST(xsimd, iterator)
|
||||
}
|
||||
|
||||
#ifdef XSIMD_BATCH_DOUBLE_SIZE
|
||||
- std::vector<std::complex<double>, xsimd::aligned_allocator<std::complex<double>, XSIMD_DEFAULT_ALIGNMENT>> ca(10 * 16, std::complex<double>(0.2));
|
||||
+ std::vector<std::complex<double>, test_allocator_type<std::complex<double>>> ca(10 * 16, std::complex<double>(0.2));
|
||||
using cbatch_type = typename xsimd::simd_traits<std::complex<double>>::type;
|
||||
auto cbegin = xsimd::aligned_iterator<cbatch_type>(&ca[0]);
|
||||
auto cend = xsimd::aligned_iterator<cbatch_type>(&ca[0] + a.size());
|
||||
@@ -262,3 +269,4 @@ TEST(xsimd, iterator)
|
||||
#endif
|
||||
|
||||
}
|
||||
+#endif
|
||||
diff --git a/test/xsimd_api_test.cpp b/test/xsimd_api_test.cpp
|
||||
index 74fbcbb..f224214 100644
|
||||
--- a/test/xsimd_api_test.cpp
|
||||
+++ b/test/xsimd_api_test.cpp
|
||||
@@ -36,7 +36,7 @@ namespace xsimd
|
||||
}
|
||||
}
|
||||
|
||||
-#if XSIMD_X86_INSTR_SET_AVAILABLE > XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
+#if XSIMD_X86_INSTR_SET > XSIMD_VERSION_NUMBER_NOT_AVAILABLE
|
||||
TEST(xsimd, complex_return_type)
|
||||
{
|
||||
using cf_type = std::complex<float>;
|
||||
diff --git a/test/xsimd_basic_math_test.cpp b/test/xsimd_basic_math_test.cpp
|
||||
index cd62bc0..b192f1b 100644
|
||||
--- a/test/xsimd_basic_math_test.cpp
|
||||
+++ b/test/xsimd_basic_math_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_basic_math.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_basic_math)
|
||||
bool res = xsimd::test_basic_math<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_error_gamma_test.cpp b/test/xsimd_error_gamma_test.cpp
|
||||
index 8241ef3..c70904b 100644
|
||||
--- a/test/xsimd_error_gamma_test.cpp
|
||||
+++ b/test/xsimd_error_gamma_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_error.hpp"
|
||||
#include "xsimd/math/xsimd_gamma.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
@@ -106,4 +108,5 @@ TEST(xsimd, fallback_double_error_gamma)
|
||||
bool res = xsimd::test_error_gamma<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_exponential_test.cpp b/test/xsimd_exponential_test.cpp
|
||||
index 7a6f4b3..43ec983 100644
|
||||
--- a/test/xsimd_exponential_test.cpp
|
||||
+++ b/test/xsimd_exponential_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_exponential.hpp"
|
||||
#include "xsimd/math/xsimd_logarithm.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
@@ -106,4 +108,5 @@ TEST(xsimd, fallback_double_exponential)
|
||||
bool res = xsimd::test_exponential<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_fp_manipulation_test.cpp b/test/xsimd_fp_manipulation_test.cpp
|
||||
index c2d7f67..d19ed3e 100644
|
||||
--- a/test/xsimd_fp_manipulation_test.cpp
|
||||
+++ b/test/xsimd_fp_manipulation_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_fp_manipulation.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_fp_manipulation)
|
||||
bool res = xsimd::test_fp_manipulation<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_hyperbolic_test.cpp b/test/xsimd_hyperbolic_test.cpp
|
||||
index 23f2506..9a76ec4 100644
|
||||
--- a/test/xsimd_hyperbolic_test.cpp
|
||||
+++ b/test/xsimd_hyperbolic_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_hyperbolic.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_hyperbolic)
|
||||
bool res = xsimd::test_hyperbolic<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_interface_test.cpp b/test/xsimd_interface_test.cpp
|
||||
index ebbfe44..976b04a 100644
|
||||
--- a/test/xsimd_interface_test.cpp
|
||||
+++ b/test/xsimd_interface_test.cpp
|
||||
@@ -12,6 +12,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/xsimd.hpp"
|
||||
|
||||
namespace xsimd
|
||||
@@ -109,3 +111,4 @@ namespace xsimd
|
||||
EXPECT_EQ(t.ivec, t.ires);
|
||||
}
|
||||
}
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_memory_test.cpp b/test/xsimd_memory_test.cpp
|
||||
index 754c5ec..1e48762 100644
|
||||
--- a/test/xsimd_memory_test.cpp
|
||||
+++ b/test/xsimd_memory_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/memory/xsimd_alignment.hpp"
|
||||
|
||||
namespace xsimd
|
||||
@@ -31,3 +33,4 @@ namespace xsimd
|
||||
EXPECT_TRUE((std::is_same<mock_align, unaligned_mode>::value));
|
||||
}
|
||||
}
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_power_test.cpp b/test/xsimd_power_test.cpp
|
||||
index 99475c6..3b6376a 100644
|
||||
--- a/test/xsimd_power_test.cpp
|
||||
+++ b/test/xsimd_power_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_power.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_power)
|
||||
bool res = xsimd::test_power<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_rounding_test.cpp b/test/xsimd_rounding_test.cpp
|
||||
index 420ca3a..7fca3e4 100644
|
||||
--- a/test/xsimd_rounding_test.cpp
|
||||
+++ b/test/xsimd_rounding_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_rounding.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_rounding)
|
||||
bool res = xsimd::test_rounding<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
diff --git a/test/xsimd_trigonometric_test.cpp b/test/xsimd_trigonometric_test.cpp
|
||||
index 2fba7f9..9998711 100644
|
||||
--- a/test/xsimd_trigonometric_test.cpp
|
||||
+++ b/test/xsimd_trigonometric_test.cpp
|
||||
@@ -11,6 +11,8 @@
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
+#ifdef XSIMD_INSTR_SET_AVAILABLE
|
||||
+
|
||||
#include "xsimd/math/xsimd_trigonometric.hpp"
|
||||
#include "xsimd/memory/xsimd_aligned_allocator.hpp"
|
||||
#include "xsimd/types/xsimd_types_include.hpp"
|
||||
@@ -105,4 +107,5 @@ TEST(xsimd, fallback_double_trigonometric)
|
||||
bool res = xsimd::test_trigonometric<double, 3, 32>(out, "fallback double");
|
||||
EXPECT_TRUE(res);
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
+#endif // XSIMD_INSTR_SET_AVAILABLE
|
||||
--
|
||||
2.21.0
|
||||
|
||||
22
296.patch
Normal file
22
296.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
From e98a72f68cb68f388d3c509b4ced69318194b575 Mon Sep 17 00:00:00 2001
|
||||
From: Johan Mabille <johan.mabille@gmail.com>
|
||||
Date: Thu, 4 Jul 2019 15:50:03 +0200
|
||||
Subject: [PATCH] Fixed flags for ppc architecture
|
||||
|
||||
---
|
||||
test/CMakeLists.txt | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
|
||||
index b14a588..52c5a08 100644
|
||||
--- a/test/CMakeLists.txt
|
||||
+++ b/test/CMakeLists.txt
|
||||
@@ -45,6 +45,8 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU"
|
||||
include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/c++/${ARM_GCC_VER}/)
|
||||
include_directories(/usr/${ARM_ARCH_DIRECTORY}/include/)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=${TARGET_ARCH} -Wunused-parameter -Wextra -Wreorder -std=c++11")
|
||||
+ elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^ppc64")
|
||||
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fPIC -mcpu=${TARGET_ARCH} -mtune=${TARGET_ARCH} -Wunused-parameter -Wextra -Wreorder -std=c++11")
|
||||
elseif(NOT WIN32)
|
||||
CHECK_CXX_COMPILER_FLAG("-std=c++11" HAS_CPP11_FLAG)
|
||||
if (ENABLE_XTL_COMPLEX)
|
||||
69
changelog
69
changelog
|
|
@ -1,69 +0,0 @@
|
|||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 10.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Dec 2 2022 sguelton@redhat.com - 10.0.0-1
|
||||
- Update to 10.0.0
|
||||
|
||||
* Tue Aug 30 2022 sguelton@redhat.com - 9.0.1-1
|
||||
- Update to 9.0.1
|
||||
- Fixes: rhbz#2120851
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Wed May 11 2022 sguelton@redhat.com - 8.1.0-1
|
||||
- Update to 8.1.0
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 8.0.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Wed Dec 08 2021 Miro Hrončok <mhroncok@redhat.com> - 8.0.5-1
|
||||
- Update to 8.0.5
|
||||
- Fixes rhbz#1997274
|
||||
|
||||
* Wed Dec 08 2021 Miro Hrončok <mhroncok@redhat.com> - 8.0.4-1
|
||||
- Update to 8.0.4
|
||||
|
||||
* Mon Aug 09 2021 Miro Hrončok <mhroncok@redhat.com> - 7.6.0-1
|
||||
- Update to 7.6.0
|
||||
- Fixes rhbz#1988647
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.5.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Fri Apr 23 2021 sguelton@redhat.com - 7.5.0-1
|
||||
- Update to latest version
|
||||
|
||||
* Tue Apr 6 2021 sguelton@redhat.com - 7.4.10-1
|
||||
- Update to latest version
|
||||
|
||||
* Thu Jan 28 2021 Fedora Release Engineering <releng@fedoraproject.org> - 7.4.9-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Mon Oct 26 2020 sguelton@redhat.com - 7.4.9-1
|
||||
- Update to latest version
|
||||
|
||||
* Sat Oct 17 2020 sguelton@redhat.com - 7.4.8-2
|
||||
- Fix missing #include for gcc-11
|
||||
|
||||
* Sat Oct 3 2020 sguelton@redhat.com - 7.4.8-1
|
||||
- Update to latest version
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 7.4.6-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jan 16 2020 sguelton@redhat.com - 7.4.6-1
|
||||
- Update to latest version
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.2.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jul 04 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-3
|
||||
- Allow all architectures
|
||||
|
||||
* Wed Jul 03 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-2
|
||||
- Apply upstream workaround for armv7
|
||||
- Reenable tests (commented out by mistake)
|
||||
|
||||
* Fri Jun 28 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-1
|
||||
- Initial package
|
||||
12
gating.yaml
12
gating.yaml
|
|
@ -1,12 +0,0 @@
|
|||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||
19
plan.fmf
19
plan.fmf
|
|
@ -1,19 +0,0 @@
|
|||
execute:
|
||||
how: tmt
|
||||
|
||||
discover:
|
||||
- name: same_repo
|
||||
how: shell
|
||||
tests:
|
||||
- name: pythran-compat
|
||||
path: /tests/pythran-compat
|
||||
test: ./runtest.sh
|
||||
prepare:
|
||||
- name: Install dependencies
|
||||
how: install
|
||||
package:
|
||||
- dnf
|
||||
- pythran
|
||||
- name: Update packages
|
||||
how: shell
|
||||
script: dnf upgrade -y
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (xsimd-13.2.0.tar.gz) = 3825626547b0dd9b58f306bc89e9b3bc6dd778ad3811b7828e50fc16ae102574255b53f2b0714995de2bd6f9eb7b2c5d266a1a24fbfdf5420dc5e94d7dcbb522
|
||||
SHA512 (xsimd-7.2.3.tar.gz) = fb34eeb585f6820499734f10f03a4efd0d9a9b4be56f9bee21f3564eb92be56e7abe7682e476fafaff4733939f33f91cb4ab9209140b19f7b740538853433532
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
#pythran export minimal(float64[])
|
||||
import numpy as np
|
||||
|
||||
def minimal(x):
|
||||
return np.sum(1. + x)
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
#!/bin/sh
|
||||
# Make sure xsimd is still compatible with pythran
|
||||
pythran minimal.py -DUSE_XSIMD -march=native
|
||||
56
xsimd.spec
56
xsimd.spec
|
|
@ -1,15 +1,21 @@
|
|||
Name: xsimd
|
||||
Version: 13.2.0
|
||||
Release: %autorelease
|
||||
Summary: C++ wrappers for SIMD intrinsic
|
||||
License: BSD-3-Clause
|
||||
Version: 7.2.3
|
||||
Release: 4%{?dist}
|
||||
Summary: C++ wrappers for SIMD intrinsics
|
||||
License: BSD
|
||||
URL: https://xsimd.readthedocs.io/
|
||||
%global github https://github.com/xtensor-stack/xsimd
|
||||
Source: %{github}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
%global github https://github.com/QuantStack/xsimd
|
||||
Source0: %{github}/archive/%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
# Workaround for armv7hl build failures
|
||||
# https://github.com/QuantStack/xsimd/pull/292 rebased
|
||||
Patch1: 292.patch
|
||||
# Workaround for ppc64le build failures
|
||||
Patch2: %{github}/pull/296.patch
|
||||
|
||||
BuildRequires: cmake
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: doctest-devel
|
||||
BuildRequires: gtest-devel
|
||||
|
||||
# there is no actual arched content - this is a header only library
|
||||
%global debug_package %{nil}
|
||||
|
|
@ -32,34 +38,42 @@ of common mathematical functions operating on batches. \
|
|||
Summary: %{summary}
|
||||
Provides: %{name} = %{version}-%{release}
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
Patch0: https://github.com/xtensor-stack/xsimd/pull/1091.patch
|
||||
|
||||
%description devel %_description
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%cmake -DBUILD_TESTS=ON
|
||||
%cmake_build
|
||||
%cmake -DBUILD_TESTS=ON \
|
||||
%ifarch armv7l armv7hl armv7hnl
|
||||
-DXSIMD_FORCE_ARM_INSTR_SET=70000000 \
|
||||
%endif
|
||||
.
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
%make_install
|
||||
|
||||
%check
|
||||
# Explicitly not supported upstream for simd mode. Still valuable for scalar mode layer.
|
||||
%ifnarch ppc64le s390x
|
||||
%cmake_build -- xtest
|
||||
%endif
|
||||
%make_build xtest
|
||||
|
||||
%files devel
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_includedir}/%{name}/
|
||||
%{_datadir}/cmake/%{name}/
|
||||
%{_datadir}/pkgconfig/%{name}.pc
|
||||
%{_libdir}/cmake/%{name}/
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 7.2.3-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Thu Jul 04 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-3
|
||||
- Allow all architectures
|
||||
|
||||
* Wed Jul 03 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-2
|
||||
- Apply upstream workaround for armv7
|
||||
- Reenable tests (commented out by mistake)
|
||||
|
||||
* Fri Jun 28 2019 Miro Hrončok <mhroncok@redhat.com> - 7.2.3-1
|
||||
- Initial package
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue