Lines Matching defs:dbits

165 void GGLAssembler::expand(integer_t& d, const component_t& s, int dbits)
169 expand(d, d, dbits);
171 expand(d, integer_t(s.reg, s.size(), s.flags), dbits);
175 void GGLAssembler::expand(component_t& d, const component_t& s, int dbits)
178 expand(r, s, dbits);
182 void GGLAssembler::expand(integer_t& dst, const integer_t& src, int dbits)
191 dst.s = dbits;
194 if (dbits<=sbits) {
202 RSB(AL, 0, d, s, reg_imm(s, LSL, dbits));
203 // d = (s<<dbits) - s;
207 if (dbits % sbits) {
208 MOV(AL, 0, d, reg_imm(s, LSL, dbits-sbits));
209 // d = s << (dbits-sbits);
210 dbits -= sbits;
214 dbits -= sbits;
216 } while(dbits>0);
220 dbits -= sbits;
225 dbits -= sbits;
226 if (sbits*2 < dbits) {
229 } while(dbits>0);
245 int dbits = dh - dl;
248 ALOGE_IF(sbits<dbits, "sbits (%d) < dbits (%d) in downshift", sbits, dbits);
250 if (sbits>dbits) {
271 const int offset = sh - dbits;
272 if (dbits<=8 && offset >= 0) {
273 const uint32_t mask = ((1<<dbits)-1) << offset;
278 sbits = dbits;
307 // V * ((1<<dbits)-1) / ((1<<sbits)-1)
308 // V * [(1<<dbits)/((1<<sbits)-1) - 1/((1<<sbits)-1)]
309 // V * [1/((1<<sbits)-1)>>dbits - 1/((1<<sbits)-1)]
310 // V/((1<<(sbits-dbits))-(1>>dbits)) - (V>>sbits)/((1<<sbits)-1)>>sbits
311 // V/((1<<(sbits-dbits))-(1>>dbits)) - (V>>sbits)/(1-(1>>sbits))
313 // By approximating (1>>dbits) and (1>>sbits) to 0:
315 // V>>(sbits-dbits) - V>>sbits
317 // A good approximation is V>>(sbits-dbits),
320 // (V>>(sbits-dbits)<<sbits - V)>>sbits
321 // (V<<dbits - V)>>sbits
322 // (V - V>>dbits)>>(sbits-dbits)
333 // scaling (V-V>>dbits)
334 SUB(AL, 0, ireg, s.reg, reg_imm(s.reg, LSR, dbits));
335 const int shift = (GGL_DITHER_BITS - (sbits-dbits));
342 if ((maskLoBits|dithering) && (sh > dbits)) {
343 int shift = sh-dbits;