OSDN Git Service

* config/s390/s390.c (s390_dump_pool): Remove return value.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Oct 2004 14:06:25 +0000 (14:06 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 5 Oct 2004 14:06:25 +0000 (14:06 +0000)
commitd345b49344f084be829d9bc5877c14b39f0e95db
tree84f9b8f8b8c3088fe73f9fe8a8a2c9d737d54ca2
parent4c29d398a1296efe38645675bd783f2aa0958eda
* config/s390/s390.c (s390_dump_pool): Remove return value.
Use gen_pool_align, gen_pool_section_start/end instead of
gen_pool_start/end_31/64.
* config/s390/s390.md (UNSPECV_POOL_START, UNSPECV_POOL_END): Remove.
(UNSPECV_POOL_SECTION, UNSPECV_POOL_ALIGN): New constants.
("pool_start_31", "pool_end_31"): Remove.
("pool_start_64", "pool_end_64"): Likewise.
("pool_align", "pool_section_start", "pool_section_end": New insns.

* config/s390/s390.c (s390_cannot_copy_insn_p): New function.
(TARGET_CANNOT_COPY_INSN_P): Define.
(s390_cannot_force_const_mem): Handle UNSPEC_INSN.
(struct constant_pool): New member 'execute'.
(s390_add_execute, s390_find_execute): New functions.
(s390_execute_label, s390_execute_target): Likewise.
(s390_dump_pool): Output in-pool execute target templates.
(s390_dump_execute): New function.
(s390_alloc_pool, s390_free_pool): Handle execute templates.
(s390_mainpool_start, s390_mainpool_finish): Likewise.
(s390_chunkify_start, s390_chunkify_finish): Likewise.
* config/s390/s390.md (UNSPEC_INSN, UNSPEC_EXECUTE): New constants.
("*execute"): New insn pattern.
("movmem_short", "*movmem_short"): Use splitters to generate
explicit execute pattern, remove embedded execute.
("clrmem_short", "*clrmem_short"): Likewise.
("cmpmem_short", "*cmpmem_short"): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88555 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/s390/s390.c
gcc/config/s390/s390.md