On Fri, Jan 12, 2018 at 11:22 AM, Segher Boessenkool
<seg...@kernel.crashing.org> wrote:
> -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.
>
> Tested on powerpc64-linux {-m32,-m64}.  Is this okay for trunk?
>
>
> Segher
>
>
> 2018-01-12  Segher Boessenkool  <seg...@kernel.crashing.org>
>
>         * 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.

Okay.

Thanks, David

Reply via email to