diff options
author | Segher Boessenkool <segher@kernel.crashing.org> | 2018-01-12 21:50:52 +0100 |
---|---|---|
committer | Segher Boessenkool <segher@gcc.gnu.org> | 2018-01-12 21:50:52 +0100 |
commit | 20c89ab7c5091ee48535392cae2177aa1a1c43eb (patch) | |
tree | 3863c9e6a3452a1e318e533cddde1800dbdc4b94 /gcc/passes.c | |
parent | 02147434d74c4e8ca7be39a0df0b9cd1d9024e19 (diff) | |
download | gcc-20c89ab7c5091ee48535392cae2177aa1a1c43eb.zip gcc-20c89ab7c5091ee48535392cae2177aa1a1c43eb.tar.gz gcc-20c89ab7c5091ee48535392cae2177aa1a1c43eb.tar.bz2 |
rs6000: Remove -mstring
-mstring is only enabled by default on 601, and with -Os on some
configurations. It is almost always slower (than not using it) and
does not very often lead to smaller code.
This patch disables it. If a user uses -mstring he gets a warning
(but not with -mno-string). I left the target attribute in place, it
just doesn't do anything anymore.
The patch also deletes a whole bunch of code. The 'N' and 'O' output
modifiers are now unused, but now is not the time to delete them.
* config/rs6000/predicates.md (load_multiple_operation): Delete.
(store_multiple_operation): Delete.
* config/rs6000/rs6000-cpus.def (601): Remove MASK_STRING.
* config/rs6000/rs6000-protos.h (rs6000_output_load_multiple): Delete.
* config/rs6000/rs6000-string.c (expand_block_move): Delete everything
guarded by TARGET_STRING.
(rs6000_output_load_multiple): Delete.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Delete
OPTION_MASK_STRING / TARGET_STRING handling.
(print_operand) <'N', 'O'>: Add comment that these are unused now.
(const rs6000_opt_masks) <"string">: Change mask to 0.
* config/rs6000/rs6000.h (TARGET_DEFAULT): Remove MASK_STRING.
(MASK_STRING): Delete.
* config/rs6000/rs6000.md (*mov<mode>_string): Delete TARGET_STRING
parts. Simplify.
(load_multiple): Delete.
(*ldmsi8): Delete.
(*ldmsi7): Delete.
(*ldmsi6): Delete.
(*ldmsi5): Delete.
(*ldmsi4): Delete.
(*ldmsi3): Delete.
(store_multiple): Delete.
(*stmsi8): Delete.
(*stmsi7): Delete.
(*stmsi6): Delete.
(*stmsi5): Delete.
(*stmsi4): Delete.
(*stmsi3): Delete.
(movmemsi_8reg): Delete.
(corresponding unnamed define_insn): Delete.
(movmemsi_6reg): Delete.
(corresponding unnamed define_insn): Delete.
(movmemsi_4reg): Delete.
(corresponding unnamed define_insn): Delete.
(movmemsi_2reg): Delete.
(corresponding unnamed define_insn): Delete.
(movmemsi_1reg): Delete.
(corresponding unnamed define_insn): Delete.
* config/rs6000/rs6000.opt (mno-string): New.
(mstring): Replace by deprecation warning stub.
* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mstring.
From-SVN: r256598
Diffstat (limited to 'gcc/passes.c')
0 files changed, 0 insertions, 0 deletions