Lines Matching refs:shift
101 unsigned shift, sign = (a >> 63) & 1;
103 for (shift = 62; shift > 0; --shift)
104 if (((a >> shift) & 1) != sign)
105 return shift;
112 unsigned shift = drm_fixp_msbset(a) + drm_fixp_msbset(b);
115 if (shift > 61) {
116 shift = shift - 61;
117 a >>= (shift >> 1) + (shift & 1);
118 b >>= shift >> 1;
120 shift = 0;
124 if (shift > DRM_FIXED_POINT)
125 return result << (shift - DRM_FIXED_POINT);
127 if (shift < DRM_FIXED_POINT)
128 return result >> (DRM_FIXED_POINT - shift);
135 unsigned shift = 62 - drm_fixp_msbset(a);
138 a <<= shift;
140 if (shift < DRM_FIXED_POINT)
141 b >>= (DRM_FIXED_POINT - shift);
145 if (shift > DRM_FIXED_POINT)
146 return result >> (shift - DRM_FIXED_POINT);