mirror of https://git.tukaani.org/xz.git
liblzma: CRC: Remove crc_always_inline, use lzma_always_inline instead.
Now crc_simd_body() in crc_x86_clmul.h is only called once in a translation unit, we no longer need to be so cautious about ensuring the always-inline behavior.
This commit is contained in:
parent
35c03ec6bf
commit
4f518c1b6b
|
@ -49,26 +49,6 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// The inline keyword is only a suggestion to the compiler to substitute the
|
|
||||||
// body of the function into the places where it is called. If a function
|
|
||||||
// is large and called multiple times then compiler may choose to ignore the
|
|
||||||
// inline suggestion at a sometimes high performance cost.
|
|
||||||
//
|
|
||||||
// MSVC's __forceinline is a keyword that should be used in place of inline.
|
|
||||||
// If both __forceinline and inline are used, MSVC will issue a warning.
|
|
||||||
// Since MSVC's keyword is a replacement keyword, the lzma_always_inline
|
|
||||||
// macro must also contain the inline keyword when its not used in MSVC.
|
|
||||||
//
|
|
||||||
// NOTE: This doesn't use lzma_always_inline for now as support for it is
|
|
||||||
// detected using preprocessor macros which might miss a compiler that
|
|
||||||
// does support it. All compilers that support the CLMUL code support
|
|
||||||
// the attribute too; if not, we will hopefully get a bug report.
|
|
||||||
#ifdef _MSC_VER
|
|
||||||
# define crc_always_inline __forceinline
|
|
||||||
#else
|
|
||||||
# define crc_always_inline __attribute__((__always_inline__)) inline
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#undef CRC_GENERIC
|
#undef CRC_GENERIC
|
||||||
#undef CRC_ARCH_OPTIMIZED
|
#undef CRC_ARCH_OPTIMIZED
|
||||||
#undef CRC_X86_CLMUL
|
#undef CRC_X86_CLMUL
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
|
|
||||||
crc_attr_target
|
crc_attr_target
|
||||||
crc_attr_no_sanitize_address
|
crc_attr_no_sanitize_address
|
||||||
static crc_always_inline void
|
static lzma_always_inline void
|
||||||
crc_simd_body(const uint8_t *buf, const size_t size, __m128i *v0, __m128i *v1,
|
crc_simd_body(const uint8_t *buf, const size_t size, __m128i *v0, __m128i *v1,
|
||||||
const __m128i vfold16, const __m128i initial_crc)
|
const __m128i vfold16, const __m128i initial_crc)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue