This is the mail archive of the gcc@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: g77 performance on ALPHA


In a message dated 8/29/99 1:24:27 AM PST, martin.kahlert@provi.de writes:

> Why use such a complicate thing like the Haifa scheduler at all when
>  we rely on out of order cpus?
>  Why not just emit instructions as soon as they arise? (Perhaps after
>  a good register allocator) 
I'll give the dumb user's response, since there are people on the list much 
better able to give the expert response.  Even with out-of-order execution, 
there appears to be a clear advantage to initiating instructions in the most 
effective order.  Whether this is associated with the limited length of 
out-of-order queues, with the possibility of exhausting the supply of shadow 
registers, or additional processing time spend shuffling instructions in the 
queues, or even with cacheing considerations, or likely some combination of 
the above, I'm not able to say. I do think that I have seen evidence that 
some processors absorb additional time when shuffling memory read and write 
operations.  A relevant comparison here might be between the g77 -mpentiumpro 
and -march=pentiumpro, in those situations where scheduling is different 
although the instructions chosen are the same.  There are cases with 
-mpentiumpro where one operand is accessed several instructions earlier than 
the other, while -march=pentiumpro accesses both operands several 
instructions before use, increasing the depth of use of the stack.  
Sometimes, this clearly avoids a stall wait for the second operand.

>>I use gcc/g77 because of its wide range of supported architectures.
>>So good code on all architectures is a desireable thing for me, too.

I agree.

>>Thanks for your long reply,
>>Martin.

I'm trying not to be so long.
Tim


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