On Mon, 2020-06-01 at 16:01 -0400, Michael Meissner via Gcc-patches wrote: > Add support for generating BRH/BRW/BRD when -mcpu=future is used. >
Hi, > gcc/ > 2020-06-01 Michael Meissner <meiss...@linux.ibm.com> > > * config/rs6000/rs6000.md (bswaphi2_reg): If -mcpu=future, > generate the BRH instruction. > (bswapsi2_reg): If -mcpu=future, generate the BRW instruction. > (bswapdi2): Rename bswapdi2_xxbrd to bswapdi2_hw. > (bswapdi2_hw): Rename from bswapdi2_xxbrd. If -mcpu=future, > generate the BRD instruction. The "If -mcpu=future" blurbs there could probably be dropped. > > testsuite/ > 2020-06-01 Michael Meissner <meiss...@linux.ibm.com> > > * gcc.target/powerpc/bswap64-5.c: New test. > --- > gcc/config/rs6000/rs6000.md | 44 > +++++++++++++++------------- > gcc/testsuite/gcc.target/powerpc/bswap64-5.c | 42 ++++++++++++++++++++++++++ > 2 files changed, 66 insertions(+), 20 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/powerpc/bswap64-5.c > <snip> > diff --git a/gcc/testsuite/gcc.target/powerpc/bswap64-5.c > b/gcc/testsuite/gcc.target/powerpc/bswap64-5.c > new file mode 100644 > index 0000000..9183e16 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/powerpc/bswap64-5.c > @@ -0,0 +1,42 @@ > +/* { dg-do compile { target { powerpc*-*-* && lp64 } } } */ > +/* { dg-require-effective-target powerpc_future_ok } */ > +/* { dg-options "-O2 -mdejagnu-cpu=future" } */ > + > +/* This tests whether -mcpu=future generates the new byte swap > + instructions (brd, brw, brh). */ s/new// (It's only new until it's not). Aside from those nits, lgtm. thanks -Will