7#ifndef ZEPHYR_INCLUDE_ARCH_RISCV_BIT_REV_H_
8#define ZEPHYR_INCLUDE_ARCH_RISCV_BIT_REV_H_
26#if defined(CONFIG_ARCH_HAS_BIT_REV) || defined(__DOXYGEN__)
37 unsigned long x_rev = x;
39 __asm__(
"rev8 %0, %1\n"
44 return x_rev >> (__riscv_xlen - 32);
68 __asm__(
"brev8 %0, %1\n" :
"=r"(x) :
"r"(x));
static uint16_t arch_sys_bit_rev16(uint16_t x)
Reverse the bits in a 16-bit value.
Definition bit_rev.h:48
static uint8_t arch_sys_bit_rev8(uint8_t x)
Reverse the bits in an 8-bit value.
Definition bit_rev.h:60
static uint32_t arch_sys_bit_rev32(uint32_t x)
Reverse the bits in a 32-bit value.
Definition bit_rev.h:36
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__UINT16_TYPE__ uint16_t
Definition stdint.h:89