Author: Matt Taylor
Date: 14:24:13 02/12/03
Go up one level in this thread
On February 12, 2003 at 15:50:35, Bo Persson wrote:
>On February 12, 2003 at 03:03:56, Matt Taylor wrote:
>
>>
>>I've never gotten VC to generate cmov, even after enabling every optimization
>>flag I could find.
>
>It doesn't!
>
>MS doesn't want to generate programs that will fail to run on Windows on any
>IA-32 processor. The P6 switch just affects the instruction scheduling weights
>to favor the P6 family. This might make the program run slightly slower on a
>386, but it *will* run.
That's what I have figured -- I just haven't heard anyone from MS Compiler group
confirm this.
I think running code on a 386 is a moot point when it requires some feature in
Windows 2000 (Pentium listed as requirement) or Windows XP (Pentium 2
-definitely- required for sysenter/sysexit support).
>>It will generate setcc which is often just as useful.
>
>Because that's a good old 386 instruction.
>
>> I was
>>sorely disappointed to discover that the latency of setcc on Pentium 4 is 5
>>cycles. It can only be issued every 1.5 cycles.
>>
>
>From what I heard, the VC7.1 ("real-soon-now") will have additional P4
>optimizations available. No details at hand.
>
>Bo Persson
>bop2@telia.com
I am really skeptical of any advantage in schuling optimization for Pentium 4.
The cmov instruction can be emulated with setcc in many cases, but VC does not
attempt to do this at all.
Hopefully the 64-bit compiler will enable cmovcc for Athlon64. Hopefully it will
also generate scalar SSE code and do other modern x86-related optimizations.
(They may reasonably reject SSE and SSE 2 as the x86-64 does not require
implementation of either.)
-Matt
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.