Lines Matching refs:shift
105 unsigned shift, sign = (a >> 63) & 1;
107 for (shift = 62; shift > 0; --shift)
108 if (((a >> shift) & 1) != sign)
109 return shift;
116 unsigned shift = drm_fixp_msbset(a) + drm_fixp_msbset(b);
119 if (shift > 61) {
120 shift = shift - 61;
121 a >>= (shift >> 1) + (shift & 1);
122 b >>= shift >> 1;
124 shift = 0;
128 if (shift > DRM_FIXED_POINT)
129 return result << (shift - DRM_FIXED_POINT);
131 if (shift < DRM_FIXED_POINT)
132 return result >> (DRM_FIXED_POINT - shift);
139 unsigned shift = 62 - drm_fixp_msbset(a);
142 a <<= shift;
144 if (shift < DRM_FIXED_POINT)
145 b >>= (DRM_FIXED_POINT - shift);
149 if (shift > DRM_FIXED_POINT)
150 return result >> (shift - DRM_FIXED_POINT);