Re: [PATCH 8/9][GCC][Arm] Add autovectorization support for complex multiplication and addition

2018-11-15 Thread Richard Biener
On Thu, Nov 15, 2018 at 1:42 PM Richard Biener wrote: > > On Wed, Nov 14, 2018 at 4:47 PM Tamar Christina > wrote: > > > > Hi Richard, > > > > > > Ok for trunk? > > > > > > +;; The complex mla operations always need to expand to two instructions. > > > +;; The first operation does half the

Re: [PATCH 8/9][GCC][Arm] Add autovectorization support for complex multiplication and addition

2018-11-15 Thread Richard Biener
On Wed, Nov 14, 2018 at 4:47 PM Tamar Christina wrote: > > Hi Richard, > > > > Ok for trunk? > > > > +;; The complex mla operations always need to expand to two instructions. > > +;; The first operation does half the computation and the second does > > +the ;; remainder. Because of this, expand

RE: [PATCH 8/9][GCC][Arm] Add autovectorization support for complex multiplication and addition

2018-11-14 Thread Tamar Christina
Hi Richard, > > Ok for trunk? > > +;; The complex mla operations always need to expand to two instructions. > +;; The first operation does half the computation and the second does > +the ;; remainder. Because of this, expand early. > +(define_expand "fcmla4" > + [(set (match_operand:VF 0

Re: [PATCH 8/9][GCC][Arm] Add autovectorization support for complex multiplication and addition

2018-11-14 Thread Richard Biener
On Sun, Nov 11, 2018 at 11:28 AM Tamar Christina wrote: > > Hi All, > > This patch adds the expander support for supporting autovectorization of > complex number operations > such as Complex addition with a rotation along the Argand plane. This also > adds support for complex > FMA. > > The

[PATCH 8/9][GCC][Arm] Add autovectorization support for complex multiplication and addition

2018-11-11 Thread Tamar Christina
Hi All, This patch adds the expander support for supporting autovectorization of complex number operations such as Complex addition with a rotation along the Argand plane. This also adds support for complex FMA. The instructions are described in the ArmARM [1] and are available from