Commit 36650ec6 by Kyrylo Tkachov Committed by Kyrylo Tkachov

[AArch64] PR 64448: Combine ((x ^ y) & m) ^ x into bsl/bif instruction

	PR target/64448
	* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
	Match xor-and-xor RTL pattern.

From-SVN: r219843
parent dfd3a76c
2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/64448
* config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
Match xor-and-xor RTL pattern.
2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com> 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
PR rtl-optimization/64081 PR rtl-optimization/64081
......
...@@ -2008,15 +2008,14 @@ ...@@ -2008,15 +2008,14 @@
;; bif op0, op1, mask ;; bif op0, op1, mask
(define_insn "aarch64_simd_bsl<mode>_internal" (define_insn "aarch64_simd_bsl<mode>_internal"
[(set (match_operand:VSDQ_I_DI 0 "register_operand" "=w,w,w") [(set (match_operand:VSDQ_I_DI 0 "register_operand" "=w,w,w")
(ior:VSDQ_I_DI (xor:VSDQ_I_DI
(and:VSDQ_I_DI (and:VSDQ_I_DI
(not:<V_cmp_result> (xor:VSDQ_I_DI
(match_operand:<V_cmp_result> 1 "register_operand" " 0,w,w")) (match_operand:<V_cmp_result> 3 "register_operand" "w,0,w")
(match_operand:VSDQ_I_DI 3 "register_operand" " w,0,w")) (match_operand:VSDQ_I_DI 2 "register_operand" "w,w,0"))
(and:VSDQ_I_DI (match_operand:VSDQ_I_DI 1 "register_operand" "0,w,w"))
(match_dup:<V_cmp_result> 1) (match_dup:<V_cmp_result> 3)
(match_operand:VSDQ_I_DI 2 "register_operand" " w,w,0"))
))] ))]
"TARGET_SIMD" "TARGET_SIMD"
"@ "@
......
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