1. 01 5月, 2008 1 次提交
    • R
      introduce explicit signed/unsigned 64bit divide · 2418f4f2
      Roman Zippel 提交于
      The current do_div doesn't explicitly say that it's unsigned and the signed
      counterpart is missing, which is e.g.  needed when dealing with time values.
      
      This introduces 64bit signed/unsigned divide functions which also attempts to
      cleanup the somewhat awkward calling API, which often requires the use of
      temporary variables for the dividend.  To avoid the need for temporary
      variables everywhere for the remainder, each divide variant also provides a
      version which doesn't return the remainder.
      
      Each architecture can now provide optimized versions of these function,
      otherwise generic fallback implementations will be used.
      
      As an example I provided an alternative for the current x86 divide, which
      avoids the asm casts and using an union allows gcc to generate better code.
      It also avoids the upper divde in a few more cases, where the result is known
      (i.e.  upper quotient is zero).
      Signed-off-by: NRoman Zippel <zippel@linux-m68k.org>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2418f4f2
  2. 17 4月, 2008 1 次提交
  3. 24 10月, 2007 1 次提交
  4. 11 10月, 2007 1 次提交