This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: gcc intrinsics for am33 parallel integer arithmetic


Matthew Hiller writes:
 > 	The am33 has a set of parallel integer arithmetic instructions
 > that execute two integer arithmetic operations simultaneously. This patch
 > implements 36 of them as intrinsics. Binutils already supports these
 > instructions.

The C4x port supports many similar patterns (for floats as well as
ints).  I wrote a pass that I submitted to this list yonks ago that
allows GCC to pack pairs of these instructions together.  As well as
packing independent operations, the pass performs some software
pipelining by peeling an iteration off loops to allow insns with a
flow dependency to be packed.  Since the C3x and C4x DSPs do
not have a multiply-accumulate instruction, this pass is essential
to allow a multiply to be performed at the same time as an add.

I would love to get this pass (and my autoincrement/automodify
optimisation pass) into the GCC sources to save all the hassle of
maintaining and distributing a separate source tree for the C4x.

Michael.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]