https://godbolt.org/z/jcxb4n97o ```c uint16_t rev16(uint16_t x) { return __builtin_bswap16(x); } ``` expands to ```asm rev16: rev w8, w0 lsr w0, w8, #16 ret ``` instead of ```asm rev16: rev16 w0, w0 ret ``` `__builtin_bswap32` and `__builtin_bswap64` don't have the same issue