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]
Other format: [Raw text]

Re: [Patch] Fix instruction length of jcc_fused


On Fri, Sep 19, 2008 at 3:28 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> Ye, Joey wrote:
>> Incorrect instruction length of fused jcc slows cpu2000.mcf by 8% and
>> the reduced case by 50%. This patch fixes the instruction length.
>>
>> A curious question, IMHO macro-op fusion can be implemented by
>> scheduling.
>
> Yes, you define a dummy FU "prefer-jcc".  Then you have:
>
> - all instructions occupy prefer-jcc for their first cycle except jumps
>
> - compares occupy prefer-jcc for two cycles
>
> - jumps do not occupy it at all
>
> This makes compare+jump the only way to not insert bubbles on the dummy
> FU you introduced.  Of course scheduling is NP-complete, so I don't know
> how effective this is.
>

I don't know if using scheduling will be better since we want to treat
macro-op fusion as a single instruction. On the other hand, we
need to satisfy those restrictions on macro-op fusion. Will scheduling
help here?


-- 
H.J.


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