]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/s390/s390.md
builtins.c: (expand_builtin_memset): Rewrite to support 'set_storage_via_setmem'.
authorAdrian Straetling <straetling@de.ibm.com>
Tue, 28 Jun 2005 19:56:23 +0000 (19:56 +0000)
committerUlrich Weigand <uweigand@gcc.gnu.org>
Tue, 28 Jun 2005 19:56:23 +0000 (19:56 +0000)
commit57e84f1840c3da2c5c73d5c2f81a9b922957a27b
tree1c07634d50dcd55dcccb73af6219e12082ada423
parent617a1b714435a270ccf699c4c6e17767088e2242
builtins.c: (expand_builtin_memset): Rewrite to support 'set_storage_via_setmem'.

2006-06-28  Adrian Straetling  <straetling@de.ibm.com>

* builtins.c: (expand_builtin_memset): Rewrite to support
'set_storage_via_setmem'.
* expr.c: (enum insn_code setmem_optab): Define.
(enum insn_code clrmem_optab): Remove.
(set_storage_via_setmem): New function.
(clear_storage_via_setmem): Remove.
(clear_storage): Replace call to "clear_storage_via_clrmem" with
"set_storage_via_setmem".
* expr.h: (set_storage_via_setmem): Declare.
(CLEAR_RATIO): Redefine using HAVE_setmemM.
* optabs.h: (enum insn_code setmem_optab): Declare.
(enum insn_code clrmem_optab): Remove.
* optabs.c: (init_optabs): Initialize setmem_optab.
(enum insn_code clrmem_optab): Remove.
* genopinit.c: (otabs): Likewise.
* doc/md.texi: Document new standard pattern 'setmem'. Remove
  'clrmem'.
* config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
'operands' ordering.
* config/frv/frv.c: (frv_expand_block_clear): Likewise.
* config/rs6000/rs6000.c: (expand_block_clear): Likewise.
* config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
* config/avr/avr.md: ("clrmemhi"): Likewise.
* config/frv/frv.md: ("clrmemsi"): Likewise.
* config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
* config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
* config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
* config/s390/s390.md: ("clrmem<mode>"): Likewise.

From-SVN: r101386
18 files changed:
gcc/ChangeLog
gcc/builtins.c
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.md
gcc/config/avr/avr.md
gcc/config/frv/frv.c
gcc/config/frv/frv.md
gcc/config/i386/i386.md
gcc/config/pa/pa.md
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.md
gcc/config/s390/s390.md
gcc/doc/md.texi
gcc/expr.c
gcc/expr.h
gcc/genopinit.c
gcc/optabs.c
gcc/optabs.h