All of lore.kernel.org
 help / color / mirror / Atom feed
* ia64 git pull
@ 2005-04-21 20:42 tony.luck
  2005-04-21 21:08 ` Linus Torvalds
                   ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: tony.luck @ 2005-04-21 20:42 UTC (permalink / raw)
  To: linux-ia64

Linus,

First ia64 change is sitting in a GIT repository at:

	http://www.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6.git

Please pull (and comment if anything is wrong, or could be improved ... e.g.
what's the easiest way to name the repository for you to cut&paste?)

-Tony

Diffstat:

 include/asm-ia64/bitops.h     |   21 +++++++++++++++++----
 include/asm-ia64/gcc_intrin.h |   10 +++++++---
 2 files changed, 24 insertions(+), 7 deletions(-)

Changesets:

tree 2179380ee3eb38fb393719e6ce32b15e934c4a44
parent d8470b7c13e11c18cf14a7e3180f0b00e715e4f0
author David Mosberger-Tang <davidm@hpl.hp.com> 1114106879 -0700
committer Tony Luck <tony.luck@intel.com> 1114106879 -0700

[IA64] fix fls()

The ia64-version of fls() never worked as intended (the bitnumbering
was off by 1 and fls(0) was undefined).  This patch fixes the problem
by using a popcnt-based fls(), which on McKinley-derived cores is
slightly faster than both ia64_fls() and generic_fls().  The resulting
code, however, is bigger (7-8 bundles instead of about 3 bundles).
Also switch ia64_popcnt() to __builtin_popcountl() for GCC v3.4 or
newer since the compiler can predicate that and schedule it better.

Thanks to Simon Derr and Matt Mackall for tracking down this bug.

Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>

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

end of thread, other threads:[~2005-04-22  5:33 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-21 20:42 ia64 git pull tony.luck
2005-04-21 21:08 ` Linus Torvalds
2005-04-21 21:55   ` tony.luck
2005-04-21 21:55     ` tony.luck
2005-04-21 22:29     ` Linus Torvalds
2005-04-21 22:29       ` Linus Torvalds
2005-04-21 22:58       ` Petr Baudis
2005-04-21 22:58         ` Petr Baudis
2005-04-21 23:01       ` tony.luck
2005-04-21 23:01         ` tony.luck
2005-04-21 23:19         ` Linus Torvalds
2005-04-21 23:19           ` Linus Torvalds
2005-04-22  0:19           ` Bernd Eckenfels
2005-04-22  0:20           ` Petr Baudis
2005-04-22  0:20             ` Petr Baudis
2005-04-22  1:25         ` Petr Baudis
2005-04-22  1:25           ` Petr Baudis
2005-04-22  1:48           ` Inaky Perez-Gonzalez
2005-04-22  1:48             ` Inaky Perez-Gonzalez
2005-04-22  1:53             ` Petr Baudis
2005-04-22  1:53               ` Petr Baudis
2005-04-22  2:06               ` Inaky Perez-Gonzalez
2005-04-22  2:06                 ` Inaky Perez-Gonzalez
2005-04-22  3:30                 ` David A. Wheeler
2005-04-22  3:30                   ` David A. Wheeler
2005-04-21 22:53     ` Petr Baudis
2005-04-21 22:53       ` Petr Baudis
2005-04-21 21:24 ` Linus Torvalds
2005-04-22  3:37 ` Horst von Brand
2005-04-22  3:37   ` Horst von Brand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.