public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [Linux-ia64] Re: strange performance behaviour with floats
@ 2003-02-24  1:45 Keith Owens
  2003-02-24  1:50 ` David Mosberger
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Keith Owens @ 2003-02-24  1:45 UTC (permalink / raw)
  To: linux-ia64

On Fri, 21 Feb 2003 18:30:32 -0800, 
David Mosberger <davidm@napali.hpl.hp.com> wrote:
>1-cycle loops are
>never optimal on McKinley (that's why the Linux bogomips comes out at
>1438 instead of 2000, for example), though I don't know the exact
>micro-architectural details that cause this.

--- include/asm-ia64/delay.h
+++ include/asm-ia64/delay.h
@@ -71,7 +71,7 @@
 
        __asm__ __volatile__("mov %0=ar.lc;;" : "=r"(saved_ar_lc));
        __asm__ __volatile__("mov ar.lc=%0;;" :: "r"(loops - 1));
-        __asm__ __volatile__("1:\tbr.cloop.sptk.few 1b;;");
+        __asm__ __volatile__("1:\tnop 0;nop 0;nop 0;br.cloop.sptk.few 1b;;");
        __asm__ __volatile__("mov ar.lc=%0" :: "r"(saved_ar_lc));
 }

generated a two bundle loop as you suggested, but BogoMIPS went down,
not up.

Original code, one bundle br.cloop:

  CPU 0: base freq 0.000MHz, ITC ratio=9/2, ITC freqê0.000MHz
  Calibrating delay loop... 1347.52 BogoMIPS

Modified code, two bundle br.cloop:

  CPU 0: base freq 0.000MHz, ITC ratio=9/2, ITC freqê0.000MHz
  Calibrating delay loop... 898.68 BogoMIPS

processor  : 0
vendor     : GenuineIntel
arch       : IA-64
family     : Itanium 2
model      : 0
revision   : 6
archrev    : 0
features   : branchlong
cpu number : 0
cpu regs   : 4
cpu MHz    : 900.000000
itc MHz    : 900.000000



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-02-24 19:12 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-02-24  1:45 [Linux-ia64] Re: strange performance behaviour with floats Keith Owens
2003-02-24  1:50 ` David Mosberger
2003-02-24  2:01 ` Keith Owens
2003-02-24  2:16 ` David Mosberger
2003-02-24  2:25 ` Keith Owens
2003-02-24 19:12 ` David Mosberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox