[00/30] Rename movmem pattern to cpymem
mbox series

Message ID cover.1561408899.git.acsawdey@linux.ibm.com
Headers show
Series
  • Rename movmem pattern to cpymem
Related show

Message

Aaron Sawdey June 25, 2019, 8:22 p.m. UTC
From: Aaron Sawdey <acsawdey@linux.ibm.com>

As we discussed on gcc-list back in mid-May, this is the first set of patches
to unscramble things so we can have sensible inline expansion of both memcpy()
and memmove().

This patch renames the movmem optab entry and all uses of it to cpymem to 
reflect the fact that this pattern is used to expand memcpy() and expects
that the source and destination blocks do not overlap.

I have split this out into the machine independent piece and the changes for
each target directory to make review easier. The patches will all need to be
committed 

I changed the pattern names in the .md files and also functions that used
"movmem" in the function name to keep everything consistent. I did not 
change function names like "*_block_move_*". 

A couple targets have support functions with the name movmem in libgcc
but I did not change any of that because I wasn't sure if that was going
to cause backward/forward compatibility issues.

Bootstrap/regtest passes on i386, x86_64, aarch64, and ppc64le.

Using Segher's cross compile build scripts I was able to build a
cross-compiler and use it to build the linux kernel on the following
targets:

alpha arc arm64 armhf arm csky h8300 i386 ia64 m68k microblaze mips64
nds32 openrisc parisc64 parisc powerpc64le powerpc64 riscv32 riscv64
s390 sh sparc64 sparc x86_64 xtensa

On these targets I was able to build a cross-compiler but could not
build the linux kernel because of unrelated errors or because linux
did not support that target:

avr blackfin c6x frv ft32 lm32 m32r mcore mips nios2 pdp11 powerpc rx
vax visium

OK for trunk?

Thanks!
    Aaron
    


Aaron Sawdey (30):
  Changes to machine independent code
  Changes for aarch64
  Changes for alpha
  Changes to arc
  Changes to arm
  Changes to avr
  Changes to bfin
  Changes to c6x
  Changes to frv
  Changes to ft32
  Changes to h8300
  Changes to i386
  Changes to lm32
  Changes to m32c
  Changes to m32r
  Changes to mcore
  Changes to microblaze
  Changes to mips
  Changes to nds32
  Changes to pa
  Changes to pdp11
  Changes to riscv
  Changes to rs6000
  Changes to rx
  Changes to s390
  Changes to sh
  Changes to sparc
  Changes to vax
  Changes to visium
  Changes to xtensa

 gcc/builtins.c                               |  2 +-
 gcc/config/aarch64/aarch64-protos.h          |  4 ++--
 gcc/config/aarch64/aarch64.c                 |  4 ++--
 gcc/config/aarch64/aarch64.h                 |  2 +-
 gcc/config/aarch64/aarch64.md                |  6 ++---
 gcc/config/alpha/alpha.h                     |  2 +-
 gcc/config/alpha/alpha.md                    |  6 ++---
 gcc/config/arc/arc-protos.h                  |  2 +-
 gcc/config/arc/arc.c                         |  6 ++---
 gcc/config/arc/arc.h                         |  2 +-
 gcc/config/arc/arc.md                        |  4 ++--
 gcc/config/arm/arm-protos.h                  |  6 ++---
 gcc/config/arm/arm.c                         | 18 +++++++-------
 gcc/config/arm/arm.md                        |  8 +++----
 gcc/config/arm/thumb1.md                     |  4 ++--
 gcc/config/avr/avr-protos.h                  |  4 ++--
 gcc/config/avr/avr.c                         | 14 +++++------
 gcc/config/avr/avr.md                        | 32 ++++++++++++-------------
 gcc/config/bfin/bfin-protos.h                |  2 +-
 gcc/config/bfin/bfin.c                       | 12 +++++-----
 gcc/config/bfin/bfin.h                       |  2 +-
 gcc/config/bfin/bfin.md                      |  4 ++--
 gcc/config/c6x/c6x-protos.h                  |  2 +-
 gcc/config/c6x/c6x.c                         |  4 ++--
 gcc/config/c6x/c6x.md                        |  4 ++--
 gcc/config/frv/frv.md                        |  2 +-
 gcc/config/ft32/ft32.md                      |  2 +-
 gcc/config/h8300/h8300.md                    |  4 ++--
 gcc/config/i386/i386-expand.c                | 36 ++++++++++++++--------------
 gcc/config/i386/i386-protos.h                |  2 +-
 gcc/config/i386/i386.h                       |  2 +-
 gcc/config/i386/i386.md                      |  6 ++---
 gcc/config/lm32/lm32.md                      |  2 +-
 gcc/config/m32c/blkmov.md                    | 12 +++++-----
 gcc/config/m32c/m32c-protos.h                |  2 +-
 gcc/config/m32c/m32c.c                       | 10 ++++----
 gcc/config/m32r/m32r.c                       |  4 ++--
 gcc/config/m32r/m32r.md                      |  4 ++--
 gcc/config/mcore/mcore.md                    |  2 +-
 gcc/config/microblaze/microblaze.c           |  2 +-
 gcc/config/microblaze/microblaze.md          |  2 +-
 gcc/config/mips/mips.c                       | 10 ++++----
 gcc/config/mips/mips.h                       | 10 ++++----
 gcc/config/mips/mips.md                      |  2 +-
 gcc/config/nds32/nds32-memory-manipulation.c | 30 +++++++++++------------
 gcc/config/nds32/nds32-multiple.md           |  4 ++--
 gcc/config/nds32/nds32-protos.h              |  2 +-
 gcc/config/pa/pa.c                           |  6 ++---
 gcc/config/pa/pa.md                          | 14 +++++------
 gcc/config/pdp11/pdp11.md                    | 16 ++++++-------
 gcc/config/riscv/riscv.c                     |  2 +-
 gcc/config/riscv/riscv.h                     |  8 +++----
 gcc/config/riscv/riscv.md                    |  2 +-
 gcc/config/rs6000/rs6000.md                  |  2 +-
 gcc/config/rx/rx.md                          | 12 +++++-----
 gcc/config/s390/s390-protos.h                |  2 +-
 gcc/config/s390/s390.c                       | 18 +++++++-------
 gcc/config/s390/s390.md                      | 16 ++++++-------
 gcc/config/sh/sh.md                          |  2 +-
 gcc/config/sparc/sparc.h                     |  2 +-
 gcc/config/vax/vax-protos.h                  |  1 -
 gcc/config/vax/vax.h                         |  2 +-
 gcc/config/vax/vax.md                        |  8 +++----
 gcc/config/visium/visium.h                   |  4 ++--
 gcc/config/visium/visium.md                  |  2 +-
 gcc/config/xtensa/xtensa.md                  |  2 +-
 gcc/defaults.h                               |  6 ++---
 gcc/expr.c                                   | 10 ++++----
 gcc/optabs.def                               |  2 +-
 gcc/targhooks.c                              |  6 ++---
 70 files changed, 226 insertions(+), 227 deletions(-)