From: Gwenole B. <gb...@di...> - 2004-11-11 07:01:30
|
mercredi 10 novembre 2004, =E0 09:37 am, Bob Deblier a =E9crit : > The lines in question are: > #APP > push %eax; popf; bsf %esi,%esi; pushf; pop %eax > #NO_APP Oh, I see. I hadn't merged this bit from the very old prototype system.=20= ;-) > Splitting the assembler over multiple lines shows that it's the push % > eax and pop %eax; tried fixing it with pushl and popl but that didn't=20= > do > the trick. Can 64-bit mode only push 64-bit quantities onto the stack? Yes. Besides, 64-bit mode doesn't handle sahf/lahf, thus yielding a typical=20= 15% performance decrease when you have to use the pushf/pop variants to=20= get native flags (noticed on a Pentium 4). Fortunately, upcoming AMD64=20= processors will now bring sahf/lahf back to 64-bit mode too. But it=20 seems Intel doesn't plan to implement them. i.e. there will be another=20= bit in some cpuid level to report this support.= |