Hi, Uros!

Sorry, I didn't realize that patch was missed. I attached new version.

Changelog:

2012-05-29  Yuri Rumyantsev  <yuri.s.rumyant...@intel.com>

       * config/i386/i386.c (x86_sched_reorder): New function.
       Added new function x86_sched_reorder.

As for multiply modes, currently we handled most frequent case for
Atom and in the future this could be enhanced.

Thanks,
Igor

>
> Hello!
>
>> Ping?
>
> Please at least add and URL to the patch, it took me some time to found the 
> latest version [1], I'm not even sure if it is the latest version...
>
> I assume that you cleared all issues with middle-end and scheduler 
> maintainers, it is not clear from the message.
>
> +   (1) IMUL instrction is on the top of list;
>
> Typo above.
>
> +  static int issue_rate = -1;
> +  int n_ready = *pn_ready;
> +  rtx insn;
> +  rtx insn1;
> +  rtx insn2;
>
> Please put three definitions above on the same line.
>
> +  int i;
> +  sd_iterator_def sd_it;
> +  dep_t dep;
> +  int index = -1;
> +
> +  /* set up issue rate */
> +  if (issue_rate < 0)
> +    issue_rate = ix86_issue_rate();
>
> Please set issue_rate unconditionally here.  Also, please follow the GNU 
> style of comments (Full sentence with two spaces after the dot) everywhere, 
> e.g:
>
> /* Set up issue rate.  */
>
> +  if (!(GET_CODE (SET_SRC (insn)) == MULT
> +      && GET_MODE (SET_SRC (insn)) == SImode))
> +    return issue_rate;
>
> Is it correct that only SImode multiplies are checked against SImode 
> multiplies? Can't we use DImode or HImode multiply (or other long-latency 
> insns) to put them into the shadow of the first multiply insn?
>
> As proposed in [2], there are many other fine-tuning approaches proposed by 
> the scheduler maintainer. OTOH, even the "big hammer"
> approach in the proposed patch makes things better, so it is the step in the 
> right direction - and it is existing practice anyway.
>
> Under this rationale, I think that the patch should be committed to mainline. 
> But please also consider proposed fine-tunings to refine the scheduling 
> accuracy.
>
> So, OK for mainline, if there are no objections from other maintainers in 
> next two days.
>
> [1] http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00964.html
> [2] http://gcc.gnu.org/ml/gcc-patches/2012-04/msg00806.html
>
> Thanks,
> Uros.

Attachment: imul_reordering.patch
Description: Binary data

Reply via email to