Bug 1951371 - Update xsimd to c0a7b5d2666c18303d27aa10ae4d50f00056aaad r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D240143
This commit is contained in:
21
third_party/xsimd/Changelog.rst
vendored
21
third_party/xsimd/Changelog.rst
vendored
@@ -9,6 +9,27 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
13.2.0
|
||||||
|
------
|
||||||
|
|
||||||
|
* Added broadcast overload for bool
|
||||||
|
|
||||||
|
* Fixed kernel::store for booleans
|
||||||
|
|
||||||
|
* Explicitly verify dependency between architectures (like sse2 implies sse2)
|
||||||
|
|
||||||
|
* Use default arch alignment as default alignment for xsimd::aligned_allocator
|
||||||
|
|
||||||
|
* sse2 version of xsimd::swizzle on [u]int16_t
|
||||||
|
|
||||||
|
* avx implementation of transpose for [u]int[8|16]
|
||||||
|
|
||||||
|
* Implement [u]int8 and [u]int16 matrix transpose for 128 bit registers
|
||||||
|
|
||||||
|
* Fix minor warning
|
||||||
|
|
||||||
|
* Fix fma4 support
|
||||||
|
|
||||||
13.1.0
|
13.1.0
|
||||||
------
|
------
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,32 @@ namespace xsimd
|
|||||||
|
|
||||||
using namespace types;
|
using namespace types;
|
||||||
|
|
||||||
|
// broadcast
|
||||||
|
namespace detail
|
||||||
|
{
|
||||||
|
template <class T, class A>
|
||||||
|
struct broadcaster
|
||||||
|
{
|
||||||
|
using return_type = batch<T, A>;
|
||||||
|
|
||||||
|
static XSIMD_INLINE return_type run(T v) noexcept
|
||||||
|
{
|
||||||
|
return return_type::broadcast(v);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template <class A>
|
||||||
|
struct broadcaster<bool, A>
|
||||||
|
{
|
||||||
|
using return_type = batch_bool<xsimd::as_unsigned_integer_t<bool>, A>;
|
||||||
|
|
||||||
|
static XSIMD_INLINE return_type run(bool b) noexcept
|
||||||
|
{
|
||||||
|
return return_type(b);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// compress
|
// compress
|
||||||
namespace detail
|
namespace detail
|
||||||
{
|
{
|
||||||
@@ -514,7 +540,7 @@ namespace xsimd
|
|||||||
}
|
}
|
||||||
|
|
||||||
// store
|
// store
|
||||||
template <class T, class A>
|
template <class A, class T>
|
||||||
XSIMD_INLINE void store(batch_bool<T, A> const& self, bool* mem, requires_arch<generic>) noexcept
|
XSIMD_INLINE void store(batch_bool<T, A> const& self, bool* mem, requires_arch<generic>) noexcept
|
||||||
{
|
{
|
||||||
using batch_type = batch<T, A>;
|
using batch_type = batch<T, A>;
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#define XSIMD_CONFIG_HPP
|
#define XSIMD_CONFIG_HPP
|
||||||
|
|
||||||
#define XSIMD_VERSION_MAJOR 13
|
#define XSIMD_VERSION_MAJOR 13
|
||||||
#define XSIMD_VERSION_MINOR 1
|
#define XSIMD_VERSION_MINOR 2
|
||||||
#define XSIMD_VERSION_PATCH 0
|
#define XSIMD_VERSION_PATCH 0
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ namespace xsimd
|
|||||||
/**
|
/**
|
||||||
* @ingroup batch_conversion
|
* @ingroup batch_conversion
|
||||||
*
|
*
|
||||||
* Perform a static_cast from \c T_in to \c T_out on \c \c x.
|
* Perform a static_cast from \c T_in to \c T_out on \c x.
|
||||||
* @param x batch_bool of \c T_in
|
* @param x batch_bool of \c T_in
|
||||||
* @return \c x cast to \c T_out
|
* @return \c x cast to \c T_out
|
||||||
*/
|
*/
|
||||||
@@ -252,7 +252,7 @@ namespace xsimd
|
|||||||
/**
|
/**
|
||||||
* @ingroup batch_conversion
|
* @ingroup batch_conversion
|
||||||
*
|
*
|
||||||
* Perform a static_cast from \c T_in to \c T_out on \c \c x.
|
* Perform a static_cast from \c T_in to \c T_out on \c x.
|
||||||
* @param x batch of \c T_in
|
* @param x batch of \c T_in
|
||||||
* @return \c x cast to \c T_out
|
* @return \c x cast to \c T_out
|
||||||
*/
|
*/
|
||||||
@@ -486,15 +486,17 @@ namespace xsimd
|
|||||||
/**
|
/**
|
||||||
* @ingroup batch_data_transfer
|
* @ingroup batch_data_transfer
|
||||||
*
|
*
|
||||||
* Creates a batch from the single value \c v.
|
* Creates a batch from the single value \c v. If \c v is a boolean,
|
||||||
|
* this function returns a batch_bool<uint8_t>. If you need another type
|
||||||
|
* of batch_bool, please use \c broadcast_as instead.
|
||||||
* @param v the value used to initialize the batch
|
* @param v the value used to initialize the batch
|
||||||
* @return a new batch instance
|
* @return a new batch instance
|
||||||
*/
|
*/
|
||||||
template <class T, class A = default_arch>
|
template <class T, class A = default_arch>
|
||||||
XSIMD_INLINE batch<T, A> broadcast(T v) noexcept
|
XSIMD_INLINE typename kernel::detail::broadcaster<T, A>::return_type broadcast(T v) noexcept
|
||||||
{
|
{
|
||||||
detail::static_check_supported_config<T, A>();
|
detail::static_check_supported_config<T, A>();
|
||||||
return batch<T, A>::broadcast(v);
|
return kernel::detail::broadcaster<T, A>::run(v);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -77,6 +77,11 @@ namespace xsimd
|
|||||||
"usage of batch type with unsupported type");
|
"usage of batch type with unsupported type");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <class A>
|
||||||
|
struct static_check_supported_config_emitter<bool, A> : static_check_supported_config_emitter<xsimd::as_unsigned_integer_t<bool>, A>
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
template <class T, class A>
|
template <class T, class A>
|
||||||
struct static_check_supported_config_emitter<std::complex<T>, A> : static_check_supported_config_emitter<T, A>
|
struct static_check_supported_config_emitter<std::complex<T>, A> : static_check_supported_config_emitter<T, A>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -77,6 +77,12 @@ namespace xsimd
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template <>
|
||||||
|
struct as_unsigned_integer<bool>
|
||||||
|
{
|
||||||
|
using type = uint8_t;
|
||||||
|
};
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
struct as_unsigned_integer<float>
|
struct as_unsigned_integer<float>
|
||||||
{
|
{
|
||||||
|
|||||||
4
third_party/xsimd/moz.yaml
vendored
4
third_party/xsimd/moz.yaml
vendored
@@ -10,8 +10,8 @@ origin:
|
|||||||
|
|
||||||
url: https://github.com/QuantStack/xsimd
|
url: https://github.com/QuantStack/xsimd
|
||||||
|
|
||||||
release: 6d6067a049987803ae07dad62f66f603773324b9 (2025-01-26T21:05:43Z).
|
release: c0a7b5d2666c18303d27aa10ae4d50f00056aaad (2025-02-26T11:05:33Z).
|
||||||
revision: 6d6067a049987803ae07dad62f66f603773324b9
|
revision: c0a7b5d2666c18303d27aa10ae4d50f00056aaad
|
||||||
|
|
||||||
license: BSD-3-Clause
|
license: BSD-3-Clause
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user