Now there is an optab for bic, andn since
r15-1890-gf379596e0ba99d.
This moves aarch64_bic for sve over to use it instead.
Note unlike the simd bic patterns, the operands were already
in the order that was expected for the optab so no swapping
was needed.
Built and tested on aarch64-linux-gnu with no regressions.
gcc/ChangeLog:
* config/aarch64/aarch64-sve-builtins-base.cc (svbic_impl::expand): Update
to use andn optab instead of using code_for_aarch64_bic.
* config/aarch64/aarch64-sve.md (@aarch64_bic<mode>): Rename to ...
(andn<mode>3): This.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
}
if (e.pred == PRED_x)
- return e.use_unpred_insn (code_for_aarch64_bic (e.vector_mode (0)));
+ return e.use_unpred_insn (e.direct_optab_handler (andn_optab));
return e.use_cond_insn (code_for_cond_bic (e.vector_mode (0)));
}
;; - BIC
;; -------------------------------------------------------------------------
-;; Unpredicated BIC.
-(define_expand "@aarch64_bic<mode>"
+;; Unpredicated BIC; andn named pattern.
+(define_expand "andn<mode>3"
[(set (match_operand:SVE_I 0 "register_operand")
(and:SVE_I
(unspec:SVE_I