march question on pentium4
Tim Prince
tprince@computer.org
Fri Aug 30 06:52:00 GMT 2002
On Thursday 29 August 2002 23:04, Martin Kahlert wrote:
> Hi!
> I use gcc-3.2 release on a FreeBSD system running on a Pentium 4 machine.
>
> My (integer based, no floating point at all) code shows a strange
> behaviour: It is faster when compiled with -march=pentium3 than
> with -march=pentium4. Is this a known issue or a problem that should be
> investigated further?
>
If I am to speculate without an example, the pentium4 costs for shift and
multiply are set so high that the compiler will always use the alternative of
add sequences. Intel's P4 Optimization Guide suggests they be set only high
enough that a shift costs more than 3 adds, for example. You could be
getting excessive code expansion for multiplication by constant.
While the expectation of gcc would be that the costs reflect accurately the
performance of the instructions, high costs which produce long code may not
be best in practice.
Evidently not speaking for anyone.
--
Tim Prince
More information about the Gcc
mailing list