Commit f7e94dfb by Aaron Sawdey Committed by Aaron Sawdey

rs6000-string.c (select_block_compare_mode): Check…

rs6000-string.c (select_block_compare_mode): Check TARGET_EFFICIENT_OVERLAPPING_UNALIGNED here instead of in caller.

2018-06-19  Aaron Sawdey  <acsawdey@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 *.

From-SVN: r261769
parent 6a513e2a
2018-06-19 Aaron Sawdey <acsawdey@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 *.
2018-06-19 Tony Reix <tony.reix@atos.com> 2018-06-19 Tony Reix <tony.reix@atos.com>
Damien Bergamini <damien.bergamini@atos.com> Damien Bergamini <damien.bergamini@atos.com>
David Edelsohn <dje.gcc@gmail.com> David Edelsohn <dje.gcc@gmail.com>
......
...@@ -1194,7 +1194,7 @@ ...@@ -1194,7 +1194,7 @@
;; VSX store VSX load VSX move VSX->GPR GPR->VSX LQ (GPR) ;; VSX store VSX load VSX move VSX->GPR GPR->VSX LQ (GPR)
;; STQ (GPR) GPR load GPR store GPR move XXSPLTIB VSPLTISW ;; STQ (GPR) GPR load GPR store GPR move XXSPLTIB VSPLTISW
;; VSX 0/-1 GPR 0/-1 VMX const GPR const LVX (VMX) STVX (VMX) ;; VSX 0/-1 GPR 0/-1 VMX const GPR const LVX (VMX) STVX (VMX)
(define_insn "*vsx_mov<mode>_64bit" (define_insn "vsx_mov<mode>_64bit"
[(set (match_operand:VSX_M 0 "nonimmediate_operand" [(set (match_operand:VSX_M 0 "nonimmediate_operand"
"=ZwO, <VSa>, <VSa>, r, we, ?wQ, "=ZwO, <VSa>, <VSa>, r, we, ?wQ,
?&r, ??r, ??Y, <??r>, wo, v, ?&r, ??r, ??Y, <??r>, wo, v,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment