Hi Andrew:
LGTM, Just checked what's clang gen, and saw LLVM already did the same
optimization, thanks for improving the code gen!
On Sun, Aug 21, 2022 at 1:15 AM apinski--- via Gcc-patches
wrote:
>
> From: Andrew Pinski
>
> Just some improvements for bswap and ZBB including a testsuite change that
> will
> allow more testing to happen.
>
> Thanks,
> Andrew Pinski
>
>
> Andrew Pinski (3):
> Fix PR 106600: __builtin_bswap32 is not hooked up for ZBB for 32bit
> Fix PR 106601: __builtin_bswap16 code gen could be improved with ZBB
> enabled
> Fix PR 106690: enable effective_target_bswap for RISCV targets with
> ZBB enabled by default
>
> gcc/config/riscv/bitmanip.md | 26 ++-
> .../gcc.target/riscv/zbb_32_bswap-1.c | 11
> .../gcc.target/riscv/zbb_32_bswap-2.c | 12 +
> gcc/testsuite/gcc.target/riscv/zbb_bswap-1.c | 11
> gcc/testsuite/gcc.target/riscv/zbb_bswap-2.c | 12 +
> gcc/testsuite/lib/target-supports.exp | 7 +
> 6 files changed, 78 insertions(+), 1 deletion(-)
> create mode 100644 gcc/testsuite/gcc.target/riscv/zbb_32_bswap-1.c
> create mode 100644 gcc/testsuite/gcc.target/riscv/zbb_32_bswap-2.c
> create mode 100644 gcc/testsuite/gcc.target/riscv/zbb_bswap-1.c
> create mode 100644 gcc/testsuite/gcc.target/riscv/zbb_bswap-2.c
>
> --
> 2.17.1
>