mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
452 B
20 lines
452 B
/* SPDX-License-Identifier: GPL-2.0 */ |
|
#ifndef __ASM_BITREV_H |
|
#define __ASM_BITREV_H |
|
static __always_inline __attribute_const__ u32 __arch_bitrev32(u32 x) |
|
{ |
|
__asm__ ("rbit %w0, %w1" : "=r" (x) : "r" (x)); |
|
return x; |
|
} |
|
|
|
static __always_inline __attribute_const__ u16 __arch_bitrev16(u16 x) |
|
{ |
|
return __arch_bitrev32((u32)x) >> 16; |
|
} |
|
|
|
static __always_inline __attribute_const__ u8 __arch_bitrev8(u8 x) |
|
{ |
|
return __arch_bitrev32((u32)x) >> 24; |
|
} |
|
|
|
#endif
|
|
|