This patch replaces shift and ior insns with one rotate and mask insn for the split...
authorHaochen Gui <guihaoc@gcc.gnu.org>
Thu, 9 Jun 2022 05:24:15 +0000 (13:24 +0800)
committerHaochen Gui <guihaoc@gcc.gnu.org>
Thu, 9 Jun 2022 05:31:09 +0000 (13:31 +0800)
commit2fc6e3d55f6080da3a43243f595bd1266595127d
treef345204828ff53a0bb4f10ed1a47c0d8c84dfd7e
parent02b4e2de3204e74ce06d2d46bc8ee30ac93ce9fb
This patch replaces shift and ior insns with one rotate and mask insn for the split patterns which are for DI byte swap on Power6.

gcc/
* config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
and ior insns to one rotate and mask insn.
(define_split for bswapdi register): Likewise.

gcc/testsuite/
* gcc.target/powerpc/pr93453-1.c: New.
gcc/config/rs6000/rs6000.md
gcc/testsuite/gcc.target/powerpc/pr93453-1.c [new file with mode: 0644]