On Mon, May 13, 2019 at 12:18:25PM +0100, Kyrill Tkachov wrote:
> Hi Richard,
>
> On 5/9/19 9:06 AM, Richard Sandiford wrote:
> > Kyrill Tkachov writes:
> >> +;; Helper expander for aarch64_abd_3 to save the callers
> >> +;; the hassle of constructing the other arm of the MINUS.
> >> +(define_exp
Ping.
https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00594.html
Thanks,
Kyrill
On 5/13/19 12:18 PM, Kyrill Tkachov wrote:
Hi Richard,
On 5/9/19 9:06 AM, Richard Sandiford wrote:
Kyrill Tkachov writes:
+;; Helper expander for aarch64_abd_3 to save the callers
+;; the hassle of constructing
Hi Richard,
On 5/9/19 9:06 AM, Richard Sandiford wrote:
Kyrill Tkachov writes:
+;; Helper expander for aarch64_abd_3 to save the callers
+;; the hassle of constructing the other arm of the MINUS.
+(define_expand "abd_3"
+ [(use (match_operand:VDQ_BHSI 0 "register_operand"))
+ (USMAX:VDQ_BHS
Kyrill Tkachov writes:
> +;; Helper expander for aarch64_abd_3 to save the callers
> +;; the hassle of constructing the other arm of the MINUS.
> +(define_expand "abd_3"
> + [(use (match_operand:VDQ_BHSI 0 "register_operand"))
> + (USMAX:VDQ_BHSI (match_operand:VDQ_BHSI 1 "register_operand")
>
Hi Richard,
On 5/4/19 5:13 PM, Richard Sandiford wrote:
Kyrill Tkachov writes:
@@ -764,6 +780,13 @@ (define_insn "aarch64_adalp_3"
;; UABAL tmp.8h, op1.16b, op2.16b
;; UADALP op3.4s, tmp.8h
;; MOVop0, op3 // should be eliminated in later passes.
+;;
+;; For TARGE
Kyrill Tkachov writes:
> @@ -764,6 +780,13 @@ (define_insn "aarch64_adalp_3"
> ;; UABAL tmp.8h, op1.16b, op2.16b
> ;; UADALPop3.4s, tmp.8h
> ;; MOV op0, op3 // should be eliminated in later passes.
> +;;
> +;; For TARGET_DOTPROD we do:
> +;; MOV tmp1.16b, #1 // Can b
Hi all,
Wilco pointed out that when the Dot Product instructions are available
we can use them
to generate an even more efficient expansion for the [us]sadv16qi optab.
Instead of the current:
uabdl2 v0.8h, v1.16b, v2.16b
uabal v0.8h, v1.8b, v2.8b
uadalp v3.4s, v0.8h