aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2024-01-11 15:22:36 +0200
committerLasse Collin <lasse.collin@tukaani.org>2024-01-11 15:24:35 +0200
commit4f518c1b6b7b7ce5dcefea81acd44d7a086a8882 (patch)
tree01df4392b7ceb34b1acb42d2d2e8e8e1b6f03e21 /src/liblzma
parentliblzma: CRC: Update CLMUL comments to more generic wording. (diff)
downloadxz-4f518c1b6b7b7ce5dcefea81acd44d7a086a8882.tar.xz
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.
Diffstat (limited to '')
-rw-r--r--src/liblzma/check/crc_common.h20
-rw-r--r--src/liblzma/check/crc_x86_clmul.h2
2 files changed, 1 insertions, 21 deletions
diff --git a/src/liblzma/check/crc_common.h b/src/liblzma/check/crc_common.h
index 045bc20e..417d88bb 100644
--- a/src/liblzma/check/crc_common.h
+++ b/src/liblzma/check/crc_common.h
@@ -49,26 +49,6 @@
#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_ARCH_OPTIMIZED
#undef CRC_X86_CLMUL
diff --git a/src/liblzma/check/crc_x86_clmul.h b/src/liblzma/check/crc_x86_clmul.h
index bf3c2397..fbf042a5 100644
--- a/src/liblzma/check/crc_x86_clmul.h
+++ b/src/liblzma/check/crc_x86_clmul.h
@@ -66,7 +66,7 @@
crc_attr_target
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,
const __m128i vfold16, const __m128i initial_crc)
{