[v2] remove compatibility wrappers for GCC < 4.8
Checks
Commit Message
As we made our move to C11, GCC requirements has been bumped.
Wrappers for old versions of GCC can be dropped.
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
Changes since v1:
- removed empty #else #endif block in x86 rte_byteorder.h,
- updated lib/table/rte_lru_x86.h (thanks Bruce),
---
lib/eal/arm/include/rte_byteorder.h | 19 -------------------
lib/eal/arm/include/rte_vect.h | 12 ------------
lib/eal/include/generic/rte_byteorder.h | 2 --
lib/eal/include/rte_debug.h | 4 ----
lib/eal/ppc/include/rte_byteorder.h | 9 ---------
lib/eal/x86/include/rte_byteorder.h | 9 ---------
lib/eal/x86/include/rte_vect.h | 9 +--------
lib/log/rte_log.h | 4 ----
lib/table/rte_lru_x86.h | 4 ++--
9 files changed, 3 insertions(+), 69 deletions(-)
Comments
On Thu, Aug 24, 2023 at 11:34 AM David Marchand
<david.marchand@redhat.com> wrote:
>
> As we made our move to C11, GCC requirements has been bumped.
> Wrappers for old versions of GCC can be dropped.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Applied, thanks.
@@ -17,25 +17,6 @@ extern "C" {
#include <rte_common.h>
#include "generic/rte_byteorder.h"
-/* fix missing __builtin_bswap16 for gcc older then 4.8 */
-#if !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))
-
-static inline uint16_t rte_arch_bswap16(uint16_t _x)
-{
- uint16_t x = _x;
-
- asm volatile ("rev16 %w0,%w1"
- : "=r" (x)
- : "r" (x)
- );
- return x;
-}
-
-#define rte_bswap16(x) ((uint16_t)(__builtin_constant_p(x) ? \
- rte_constant_bswap16(x) : \
- rte_arch_bswap16(x)))
-#endif
-
/* ARM architecture is bi-endian (both big and little). */
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
@@ -83,18 +83,6 @@ vcopyq_laneq_u32(uint32x4_t a, const int lane_a,
#if defined(RTE_ARCH_ARM64)
#if RTE_CC_IS_GNU && (GCC_VERSION < 70000)
-#if (GCC_VERSION < 40900)
-typedef uint64_t poly64_t;
-typedef uint64x2_t poly64x2_t;
-typedef uint8_t poly128_t __attribute__((vector_size(16), aligned(16)));
-
-static inline uint32x4_t
-vceqzq_u32(uint32x4_t a)
-{
- return (a == 0);
-}
-#endif
-
/* NEON intrinsic vreinterpretq_u64_p128() is supported since GCC version 7 */
static inline uint64x2_t
vreinterpretq_u64_p128(poly128_t x)
@@ -234,9 +234,7 @@ static uint64_t rte_be_to_cpu_64(rte_be64_t x);
#endif /* __DOXYGEN__ */
#ifdef RTE_FORCE_INTRINSICS
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
#define rte_bswap16(x) __builtin_bswap16(x)
-#endif
#define rte_bswap32(x) __builtin_bswap32(x)
@@ -60,11 +60,7 @@ void rte_dump_stack(void);
* documentation.
*/
void __rte_panic(const char *funcname , const char *format, ...)
-#ifdef __GNUC__
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2))
__rte_cold
-#endif
-#endif
__rte_noreturn
__rte_format_printf(2, 3);
@@ -62,15 +62,6 @@ static inline uint64_t rte_arch_bswap64(uint64_t _x)
#define rte_bswap64(x) ((uint64_t)(__builtin_constant_p(x) ? \
rte_constant_bswap64(x) : \
rte_arch_bswap64(x)))
-#else
-/*
- * __builtin_bswap16 is only available gcc 4.8 and upwards
- */
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
-#define rte_bswap16(x) ((uint16_t)(__builtin_constant_p(x) ? \
- rte_constant_bswap16(x) : \
- rte_arch_bswap16(x)))
-#endif
#endif
/* Power 8 have both little endian and big endian mode
@@ -59,15 +59,6 @@ static inline uint32_t rte_arch_bswap32(uint32_t _x)
#define rte_bswap64(x) ((uint64_t)(__builtin_constant_p(x) ? \
rte_constant_bswap64(x) : \
rte_arch_bswap64(x)))
-#else
-/*
- * __builtin_bswap16 is only available gcc 4.8 and upwards
- */
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8)
-#define rte_bswap16(x) ((uint16_t)(__builtin_constant_p(x) ? \
- rte_constant_bswap16(x) : \
- rte_arch_bswap16(x)))
-#endif
#endif
#define rte_cpu_to_le_16(x) (x)
@@ -16,20 +16,13 @@
#include <rte_common.h>
#include "generic/rte_vect.h"
-#if (defined(__ICC) || \
- (defined(_WIN64)) || \
- (__GNUC__ == 4 && __GNUC_MINOR__ < 4))
-
+#if defined(__ICC) || defined(_WIN64)
#include <smmintrin.h> /* SSE4 */
-
#if defined(__AVX__)
#include <immintrin.h>
#endif
-
#else
-
#include <x86intrin.h>
-
#endif
#ifdef __cplusplus
@@ -277,11 +277,7 @@ void rte_log_dump(FILE *f);
* - Negative on error.
*/
int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
-#ifdef __GNUC__
-#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2))
__rte_cold
-#endif
-#endif
__rte_format_printf(3, 4);
/**
@@ -20,7 +20,7 @@ extern "C" {
#if RTE_TABLE_HASH_LRU_STRATEGY == 2
-#if RTE_CC_IS_GNU && (GCC_VERSION > 40306)
+#if RTE_CC_IS_GNU
#include <x86intrin.h>
#else
#include <emmintrin.h>
@@ -64,7 +64,7 @@ do { \
#elif RTE_TABLE_HASH_LRU_STRATEGY == 3
-#if RTE_CC_IS_GNU && (GCC_VERSION > 40306)
+#if RTE_CC_IS_GNU
#include <x86intrin.h>
#else
#include <emmintrin.h>