https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110786
--- Comment #1 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jose E. Marchesi <jema...@gcc.gnu.org>: https://gcc.gnu.org/g:f1e34551e4d6e259ab3bd0c9aba4fa1f0c448214 commit r14-2741-gf1e34551e4d6e259ab3bd0c9aba4fa1f0c448214 Author: Jose E. Marchesi <jose.march...@oracle.com> Date: Mon Jul 24 10:56:27 2023 +0200 bpf: make use of the bswap{16,32,64} V4 BPF instruction This patch makes the BPF backend to use the new V4 bswap{16,32,64} instructions in order to implement the __builtin_bswap{16,32,64} built-ins. It also adds support for -mcpu=v4 and -m[no]bswap command-line options. Tests and doc updates are includes. Tested in bpf-unknown-none. gcc/ChangeLog PR target/110786 * config/bpf/bpf.opt (mcpu): Add ISA_V4 and make it the default. (mbswap): New option. * config/bpf/bpf-opts.h (enum bpf_isa_version): New value ISA_V4. * config/bpf/bpf.cc (bpf_option_override): Set bpf_has_bswap. * config/bpf/bpf.md: Use bswap instructions if available for bswap* insn, and fix constraint. * doc/invoke.texi (eBPF Options): Document -mcpu=v4 and -mbswap. gcc/testsuite/ChangeLog PR target/110786 * gcc.target/bpf/bswap-1.c: Pass -mcpu=v3 to build test. * gcc.target/bpf/bswap-2.c: New test.