Lines Matching refs:shift
99 unsigned shift, sign = (a >> 63) & 1;
101 for (shift = 62; shift > 0; --shift)
102 if (((a >> shift) & 1) != sign)
103 return shift;
110 unsigned shift = drm_fixp_msbset(a) + drm_fixp_msbset(b);
113 if (shift > 61) {
114 shift = shift - 61;
115 a >>= (shift >> 1) + (shift & 1);
116 b >>= shift >> 1;
118 shift = 0;
122 if (shift > DRM_FIXED_POINT)
123 return result << (shift - DRM_FIXED_POINT);
125 if (shift < DRM_FIXED_POINT)
126 return result >> (DRM_FIXED_POINT - shift);
133 unsigned shift = 62 - drm_fixp_msbset(a);
136 a <<= shift;
138 if (shift < DRM_FIXED_POINT)
139 b >>= (DRM_FIXED_POINT - shift);
143 if (shift > DRM_FIXED_POINT)
144 return result >> (shift - DRM_FIXED_POINT);