Lines Matching refs:m32
268 reg->lowmant = reg->mant.m32[1] << (8 - cnt); in fp_denormalize()
269 reg->mant.m32[1] = (reg->mant.m32[1] >> cnt) | in fp_denormalize()
270 (reg->mant.m32[0] << (32 - cnt)); in fp_denormalize()
271 reg->mant.m32[0] = reg->mant.m32[0] >> cnt; in fp_denormalize()
274 reg->lowmant = reg->mant.m32[1] >> (cnt - 8); in fp_denormalize()
275 if (reg->mant.m32[1] << (40 - cnt)) in fp_denormalize()
277 reg->mant.m32[1] = (reg->mant.m32[1] >> cnt) | in fp_denormalize()
278 (reg->mant.m32[0] << (32 - cnt)); in fp_denormalize()
279 reg->mant.m32[0] = reg->mant.m32[0] >> cnt; in fp_denormalize()
283 : "m" (reg->mant.m32[0]), "d" (64 - cnt)); in fp_denormalize()
284 if (reg->mant.m32[1] << (40 - cnt)) in fp_denormalize()
286 reg->mant.m32[1] = reg->mant.m32[0] >> (cnt - 32); in fp_denormalize()
287 reg->mant.m32[0] = 0; in fp_denormalize()
290 reg->lowmant = reg->mant.m32[0] >> (cnt - 40); in fp_denormalize()
291 if ((reg->mant.m32[0] << (72 - cnt)) || reg->mant.m32[1]) in fp_denormalize()
293 reg->mant.m32[1] = reg->mant.m32[0] >> (cnt - 32); in fp_denormalize()
294 reg->mant.m32[0] = 0; in fp_denormalize()
297 reg->lowmant = reg->mant.m32[0] || reg->mant.m32[1]; in fp_denormalize()
298 reg->mant.m32[0] = 0; in fp_denormalize()
299 reg->mant.m32[1] = 0; in fp_denormalize()
308 if (reg->mant.m32[0]) { in fp_overnormalize()
309 asm ("bfffo %1{#0,#32},%0" : "=d" (shift) : "dm" (reg->mant.m32[0])); in fp_overnormalize()
310 reg->mant.m32[0] = (reg->mant.m32[0] << shift) | (reg->mant.m32[1] >> (32 - shift)); in fp_overnormalize()
311 reg->mant.m32[1] = (reg->mant.m32[1] << shift); in fp_overnormalize()
313 asm ("bfffo %1{#0,#32},%0" : "=d" (shift) : "dm" (reg->mant.m32[1])); in fp_overnormalize()
314 reg->mant.m32[0] = (reg->mant.m32[1] << shift); in fp_overnormalize()
315 reg->mant.m32[1] = 0; in fp_overnormalize()
329 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_addmant()
330 : "d" (src->mant.m32[1]), "0" (dest->mant.m32[1])); in fp_addmant()
331 asm volatile ("addx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_addmant()
332 : "d" (src->mant.m32[0]), "0" (dest->mant.m32[0])); in fp_addmant()
347 reg->lowmant = (reg->mant.m32[1] << 7) | (reg->lowmant ? 1 : 0); in fp_addcarry()
348 reg->mant.m32[1] = (reg->mant.m32[1] >> 1) | in fp_addcarry()
349 (reg->mant.m32[0] << 31); in fp_addcarry()
350 reg->mant.m32[0] = (reg->mant.m32[0] >> 1) | 0x80000000; in fp_addcarry()
361 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[1]) in fp_submant()
362 : "d" (src2->mant.m32[1]), "0" (src1->mant.m32[1])); in fp_submant()
363 asm volatile ("subx.l %1,%0" : "=d" (dest->mant.m32[0]) in fp_submant()
364 : "d" (src2->mant.m32[0]), "0" (src1->mant.m32[0])); in fp_submant()
382 asm volatile ("add.l %1,%0" : "=d,g" (dest->m32[2]) \
383 : "g,d" (temp.m32[1]), "0,0" (dest->m32[2])); \
384 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[1]) \
385 : "d" (temp.m32[0]), "0" (dest->m32[1])); \
386 asm volatile ("addx.l %1,%0" : "=d" (dest->m32[0]) \
387 : "d" (0), "0" (dest->m32[0])); \
390 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[1]) \
391 : "dm,d" (src.m32[1]), "0,0" (dest.m32[1])); \
392 asm ("subx.l %1,%0" : "=d" (dest.m32[0]) \
393 : "d" (src.m32[0]), "0" (dest.m32[0])); \
397 asm ("sub.l %1,%0" : "=d,dm" (dest.m32[2]) \
398 : "dm,d" (srcl), "0,0" (dest.m32[2])); \
399 asm ("subx.l %1,%0" : "=d" (dest.m32[1]) \
400 : "d" (srcm), "0" (dest.m32[1])); \
401 asm ("subx.l %2,%1; scs %0" : "=d" (carry), "=d" (dest.m32[0]) \
402 : "d" (srch), "1" (dest.m32[0])); \
411 fp_mul64(dest->m32[0], dest->m32[1], src1->mant.m32[0], src2->mant.m32[0]); in fp_multiplymant()
412 fp_mul64(dest->m32[2], dest->m32[3], src1->mant.m32[1], src2->mant.m32[1]); in fp_multiplymant()
414 fp_mul64(temp.m32[0], temp.m32[1], src1->mant.m32[0], src2->mant.m32[1]); in fp_multiplymant()
417 fp_mul64(temp.m32[0], temp.m32[1], src1->mant.m32[1], src2->mant.m32[0]); in fp_multiplymant()
426 unsigned long *mantp = dest->m32; in fp_dividemant()
449 dummy = div->mant.m32[1] / div->mant.m32[0] + 1; in fp_dividemant()
455 if (src->mant.m32[0] == div->mant.m32[0]) { in fp_dividemant()
456 fp_div64(first, rem, 0, src->mant.m32[1], div->mant.m32[0]); in fp_dividemant()
461 fp_div64(first, rem, src->mant.m32[0], src->mant.m32[1], div->mant.m32[0]); in fp_dividemant()
466 fp_mul64(tmp.m32[0], tmp.m32[1], div->mant.m32[0], first - *mantp); in fp_dividemant()
467 fp_add64(tmp.m32[0], tmp.m32[1], 0, rem); in fp_dividemant()
468 tmp.m32[2] = 0; in fp_dividemant()
470 fp_mul64(tmp64.m32[0], tmp64.m32[1], *mantp, div->mant.m32[1]); in fp_dividemant()
471 fp_sub96c(tmp, 0, tmp64.m32[0], tmp64.m32[1]); in fp_dividemant()
473 src->mant.m32[0] = tmp.m32[1]; in fp_dividemant()
474 src->mant.m32[1] = tmp.m32[2]; in fp_dividemant()
476 while (!fp_sub96c(tmp, 0, div->mant.m32[0], div->mant.m32[1])) { in fp_dividemant()
477 src->mant.m32[0] = tmp.m32[1]; in fp_dividemant()
478 src->mant.m32[1] = tmp.m32[2]; in fp_dividemant()
490 if ((data = src->m32[0]))
492 else if ((data = src->m32[1]))
494 else if ((data = src->m32[2]))
496 else if ((data = src->m32[3]))
514 : "=d" (src->m32[3]) : "0" (src->m32[3]));
516 : "=d" (src->m32[2]) : "0" (src->m32[2]));
518 : "=d" (src->m32[1]) : "0" (src->m32[1]));
520 : "=d" (src->m32[0]) : "0" (src->m32[0]));
523 src->m32[0] = (src->m32[0] << shift) | (src->m32[1] >> (32 - shift));
524 src->m32[1] = (src->m32[1] << shift) | (src->m32[2] >> (32 - shift));
525 src->m32[2] = (src->m32[2] << shift) | (src->m32[3] >> (32 - shift));
526 src->m32[3] = (src->m32[3] << shift);
530 src->m32[0] = (src->m32[1] << shift) | (src->m32[2] >> (32 - shift));
531 src->m32[1] = (src->m32[2] << shift) | (src->m32[3] >> (32 - shift));
532 src->m32[2] = (src->m32[3] << shift);
533 src->m32[3] = 0;
537 src->m32[0] = (src->m32[2] << shift) | (src->m32[3] >> (32 - shift));
538 src->m32[1] = (src->m32[3] << shift);
539 src->m32[2] = src->m32[3] = 0;
543 src->m32[0] = (src->m32[3] << shift);
544 src->m32[1] = src->m32[2] = src->m32[3] = 0;
549 if (src->m32[3] << (32 - shift))
551 src->m32[3] = (src->m32[3] >> shift) | (src->m32[2] << (32 - shift)) | sticky;
552 src->m32[2] = (src->m32[2] >> shift) | (src->m32[1] << (32 - shift));
553 src->m32[1] = (src->m32[1] >> shift) | (src->m32[0] << (32 - shift));
554 src->m32[0] = (src->m32[0] >> shift);
559 if ((src->m32[2] << (32 - shift)) || src->m32[3])
561 src->m32[3] = (src->m32[2] >> shift) | (src->m32[1] << (32 - shift)) | sticky;
562 src->m32[2] = (src->m32[1] >> shift) | (src->m32[0] << (32 - shift));
563 src->m32[1] = (src->m32[0] >> shift);
564 src->m32[0] = 0;
569 if ((src->m32[1] << (32 - shift)) || src->m32[2] || src->m32[3])
571 src->m32[3] = (src->m32[1] >> shift) | (src->m32[0] << (32 - shift)) | sticky;
572 src->m32[2] = (src->m32[0] >> shift);
573 src->m32[1] = src->m32[0] = 0;
578 if ((src->m32[0] << (32 - shift)) || src->m32[1] || src->m32[2] || src->m32[3])
580 src->m32[3] = (src->m32[0] >> shift) | sticky;
581 src->m32[2] = src->m32[1] = src->m32[0] = 0;
585 if (shift < 0 && (src->m32[0] || src->m32[1] || src->m32[2] || src->m32[3]))
586 src->m32[3] = 1;
588 src->m32[3] = 0;
589 src->m32[2] = 0;
590 src->m32[1] = 0;
591 src->m32[0] = 0;
603 dest->lowmant = src->m32[2] >> 24; in fp_putmant128()
604 if (src->m32[3] || (src->m32[2] << 8)) in fp_putmant128()
609 : "=d" (tmp) : "0" (src->m32[2])); in fp_putmant128()
611 : "=d" (dest->mant.m32[1]) : "0" (src->m32[1])); in fp_putmant128()
613 : "=d" (dest->mant.m32[0]) : "0" (src->m32[0])); in fp_putmant128()
615 if (src->m32[3] || (tmp << 8)) in fp_putmant128()
620 : "=d" (dest->mant.m32[0]) in fp_putmant128()
621 : "d" (src->m32[0]), "0" (src->m32[1])); in fp_putmant128()
623 : "=d" (dest->mant.m32[1]) : "0" (src->m32[2])); in fp_putmant128()
625 : "=d" (tmp) : "0" (src->m32[3])); in fp_putmant128()
627 if (src->m32[3] << 7) in fp_putmant128()
631 dest->mant.m32[0] = src->m32[1]; in fp_putmant128()
632 dest->mant.m32[1] = src->m32[2]; in fp_putmant128()
633 dest->lowmant = src->m32[3] >> 24; in fp_putmant128()
634 if (src->m32[3] << 8) in fp_putmant128()