On Thu, Jun 14, 2018 at 09:29:42AM -0500, Aaron Sawdey wrote:
> 2018-06-14  Aaron Sawdey  <acsaw...@linux.ibm.com>
> 
>       * config/rs6000/rs6000-string.c (select_block_compare_mode): Check
>       TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller.
>       (do_and3, do_and3_mask, do_compb3, do_rotl3): New functions.
>       (expand_block_compare): Change select_block_compare_mode call.
>       (expand_strncmp_align_check): Use new functions, fix comment.
>       (emit_final_str_compare_gpr): New function.
>       (expand_strn_compare): Refactor and clean up code.
>       * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Remove *.

Okay.  Does do_and3_mask help, btw?  I mean, if you replace it with just
do_and3, do you get the same code?


Segher

Reply via email to