[Bug target/53949] [SH] Add support for mac.w / mac.l instructions

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat May 4 13:39:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53949

--- Comment #9 from Oleg Endo <olegendo at gcc dot gnu.org> 2013-05-04 13:39:10 UTC ---
(In reply to comment #3)
> - Loops with multiple running sums like
>   for (int i = 0; i < 16; ++i)
>   {
>     sum0 += (int64_t)(*a++) * (int64_t)(*b++);
>     sum1 += (int64_t)(*c++) * (int64_t)(*d++);
>   }
> 
>   result in macl:mach swapping to general reg pairs between subsequent
>   mac.w instructions.  Ideally such loops should be split into multiple
>   loops like in the previous example.

This is basically what -ftree-loop-distribution does.  The question would be
how to re-use it for this particular case.



More information about the Gcc-bugs mailing list