Logo Search packages:      
Sourcecode: linux version File versions

lshrdi3.c

#include <linux/module.h>

#include "libgcc.h"

long long __lshrdi3(long long u, word_type b)
{
      DWunion uu, w;
      word_type bm;

      if (b == 0)
            return u;

      uu.ll = u;
      bm = 32 - b;

      if (bm <= 0) {
            w.s.high = 0;
            w.s.low = (unsigned int) uu.s.high >> -bm;
      } else {
            const unsigned int carries = (unsigned int) uu.s.high << bm;

            w.s.high = (unsigned int) uu.s.high >> b;
            w.s.low = ((unsigned int) uu.s.low >> b) | carries;
      }

      return w.ll;
}

EXPORT_SYMBOL(__lshrdi3);

Generated by  Doxygen 1.6.0   Back to index