34#ifndef MCUXCLCORE_TOOLCHAIN_H_
35#define MCUXCLCORE_TOOLCHAIN_H_
37#include <mcuxClCore_Platform.h>
41static inline uint64_t mcuxCl_Core_Swap64(uint64_t value)
43#if defined(__GNUC__) || defined(__clang__)
44 return __builtin_bswap64(value);
46 MCUX_CSSL_ANALYSIS_START_SUPPRESS_INTEGER_OVERFLOW(
"Offset calculations cannot overflow.")
47 return ((value >> 56) & 0x00000000000000FFULL) |
48 ((value >> 40) & 0x000000000000FF00ULL) |
49 ((value >> 24) & 0x0000000000FF0000ULL) |
50 ((value >> 8) & 0x00000000FF000000ULL) |
51 ((value << 8) & 0x000000FF00000000ULL) |
52 ((value << 24) & 0x0000FF0000000000ULL) |
53 ((value << 40) & 0x00FF000000000000ULL) |
54 ((value << 56) & 0xFF00000000000000ULL);
55 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_INTEGER_OVERFLOW()
60static inline uint32_t mcuxCl_Core_Swap32(uint32_t value)
62#if defined(__GNUC__) || defined(__clang__)
63 return __builtin_bswap32(value);
65 MCUX_CSSL_ANALYSIS_START_SUPPRESS_INTEGER_OVERFLOW(
"Offset calculations cannot overflow.")
66 return ((value >> 24) & 0x000000FFUL) |
67 ((value << 24) & 0xFF000000UL) |
68 ((value >> 8) & 0x0000FF00UL) |
69 ((value << 8) & 0x00FF0000UL);
70 MCUX_CSSL_ANALYSIS_STOP_SUPPRESS_INTEGER_OVERFLOW()
Provides the API for the CSSL flow protection mechanism.
#define MCUX_CSSL_FP_FUNCTION_DEF(...)
Definition of a flow protected function.
Definition mcuxCsslFlowProtection.h:220