Lines Matching refs:c2

309 /* mul_add_c(a,b,c0,c1,c2)  -- c+=a*b for three word number c=(c2,c1,c0) */
310 /* mul_add_c2(a,b,c0,c1,c2) -- c+=2*a*b for three word number c=(c2,c1,c0) */
311 /* sqr_add_c(a,i,c0,c1,c2) -- c+=a[i]^2 for three word number c=(c2,c1,c0) */
313 * sqr_add_c2(a,i,c0,c1,c2) -- c+=2*a[i]*a[j] for three word number
314 * c=(c2,c1,c0)
323 # define mul_add_c(a,b,c0,c1,c2) do { \
328 c1 += hi; c2 += (c1<hi)?1:0; \
331 # define mul_add_c2(a,b,c0,c1,c2) do { \
336 c1 += tt; c2 += (c1<tt)?1:0; \
338 c1 += hi; c2 += (c1<hi)?1:0; \
341 # define sqr_add_c(a,i,c0,c1,c2) do { \
346 c1 += hi; c2 += (c1<hi)?1:0; \
349 # define mul_add_c(a,b,c0,c1,c2) do { \
356 : "+r"(c0),"+r"(c1),"+r"(c2) \
361 # define sqr_add_c(a,i,c0,c1,c2) do { \
368 : "+r"(c0),"+r"(c1),"+r"(c2) \
373 # define mul_add_c2(a,b,c0,c1,c2) do { \
380 : "+r"(c0),"+r"(c1),"+r"(c2) \
384 : "+r"(c0),"+r"(c1),"+r"(c2) \
390 # define sqr_add_c2(a,i,j,c0,c1,c2) \
391 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
395 BN_ULONG c1, c2, c3;
398 c2 = 0;
400 mul_add_c(a[0], b[0], c1, c2, c3);
403 mul_add_c(a[0], b[1], c2, c3, c1);
404 mul_add_c(a[1], b[0], c2, c3, c1);
405 r[1] = c2;
406 c2 = 0;
407 mul_add_c(a[2], b[0], c3, c1, c2);
408 mul_add_c(a[1], b[1], c3, c1, c2);
409 mul_add_c(a[0], b[2], c3, c1, c2);
412 mul_add_c(a[0], b[3], c1, c2, c3);
413 mul_add_c(a[1], b[2], c1, c2, c3);
414 mul_add_c(a[2], b[1], c1, c2, c3);
415 mul_add_c(a[3], b[0], c1, c2, c3);
418 mul_add_c(a[4], b[0], c2, c3, c1);
419 mul_add_c(a[3], b[1], c2, c3, c1);
420 mul_add_c(a[2], b[2], c2, c3, c1);
421 mul_add_c(a[1], b[3], c2, c3, c1);
422 mul_add_c(a[0], b[4], c2, c3, c1);
423 r[4] = c2;
424 c2 = 0;
425 mul_add_c(a[0], b[5], c3, c1, c2);
426 mul_add_c(a[1], b[4], c3, c1, c2);
427 mul_add_c(a[2], b[3], c3, c1, c2);
428 mul_add_c(a[3], b[2], c3, c1, c2);
429 mul_add_c(a[4], b[1], c3, c1, c2);
430 mul_add_c(a[5], b[0], c3, c1, c2);
433 mul_add_c(a[6], b[0], c1, c2, c3);
434 mul_add_c(a[5], b[1], c1, c2, c3);
435 mul_add_c(a[4], b[2], c1, c2, c3);
436 mul_add_c(a[3], b[3], c1, c2, c3);
437 mul_add_c(a[2], b[4], c1, c2, c3);
438 mul_add_c(a[1], b[5], c1, c2, c3);
439 mul_add_c(a[0], b[6], c1, c2, c3);
442 mul_add_c(a[0], b[7], c2, c3, c1);
443 mul_add_c(a[1], b[6], c2, c3, c1);
444 mul_add_c(a[2], b[5], c2, c3, c1);
445 mul_add_c(a[3], b[4], c2, c3, c1);
446 mul_add_c(a[4], b[3], c2, c3, c1);
447 mul_add_c(a[5], b[2], c2, c3, c1);
448 mul_add_c(a[6], b[1], c2, c3, c1);
449 mul_add_c(a[7], b[0], c2, c3, c1);
450 r[7] = c2;
451 c2 = 0;
452 mul_add_c(a[7], b[1], c3, c1, c2);
453 mul_add_c(a[6], b[2], c3, c1, c2);
454 mul_add_c(a[5], b[3], c3, c1, c2);
455 mul_add_c(a[4], b[4], c3, c1, c2);
456 mul_add_c(a[3], b[5], c3, c1, c2);
457 mul_add_c(a[2], b[6], c3, c1, c2);
458 mul_add_c(a[1], b[7], c3, c1, c2);
461 mul_add_c(a[2], b[7], c1, c2, c3);
462 mul_add_c(a[3], b[6], c1, c2, c3);
463 mul_add_c(a[4], b[5], c1, c2, c3);
464 mul_add_c(a[5], b[4], c1, c2, c3);
465 mul_add_c(a[6], b[3], c1, c2, c3);
466 mul_add_c(a[7], b[2], c1, c2, c3);
469 mul_add_c(a[7], b[3], c2, c3, c1);
470 mul_add_c(a[6], b[4], c2, c3, c1);
471 mul_add_c(a[5], b[5], c2, c3, c1);
472 mul_add_c(a[4], b[6], c2, c3, c1);
473 mul_add_c(a[3], b[7], c2, c3, c1);
474 r[10] = c2;
475 c2 = 0;
476 mul_add_c(a[4], b[7], c3, c1, c2);
477 mul_add_c(a[5], b[6], c3, c1, c2);
478 mul_add_c(a[6], b[5], c3, c1, c2);
479 mul_add_c(a[7], b[4], c3, c1, c2);
482 mul_add_c(a[7], b[5], c1, c2, c3);
483 mul_add_c(a[6], b[6], c1, c2, c3);
484 mul_add_c(a[5], b[7], c1, c2, c3);
487 mul_add_c(a[6], b[7], c2, c3, c1);
488 mul_add_c(a[7], b[6], c2, c3, c1);
489 r[13] = c2;
490 c2 = 0;
491 mul_add_c(a[7], b[7], c3, c1, c2);
498 BN_ULONG c1, c2, c3;
501 c2 = 0;
503 mul_add_c(a[0], b[0], c1, c2, c3);
506 mul_add_c(a[0], b[1], c2, c3, c1);
507 mul_add_c(a[1], b[0], c2, c3, c1);
508 r[1] = c2;
509 c2 = 0;
510 mul_add_c(a[2], b[0], c3, c1, c2);
511 mul_add_c(a[1], b[1], c3, c1, c2);
512 mul_add_c(a[0], b[2], c3, c1, c2);
515 mul_add_c(a[0], b[3], c1, c2, c3);
516 mul_add_c(a[1], b[2], c1, c2, c3);
517 mul_add_c(a[2], b[1], c1, c2, c3);
518 mul_add_c(a[3], b[0], c1, c2, c3);
521 mul_add_c(a[3], b[1], c2, c3, c1);
522 mul_add_c(a[2], b[2], c2, c3, c1);
523 mul_add_c(a[1], b[3], c2, c3, c1);
524 r[4] = c2;
525 c2 = 0;
526 mul_add_c(a[2], b[3], c3, c1, c2);
527 mul_add_c(a[3], b[2], c3, c1, c2);
530 mul_add_c(a[3], b[3], c1, c2, c3);
532 r[7] = c2;
537 BN_ULONG c1, c2, c3;
540 c2 = 0;
542 sqr_add_c(a, 0, c1, c2, c3);
545 sqr_add_c2(a, 1, 0, c2, c3, c1);
546 r[1] = c2;
547 c2 = 0;
548 sqr_add_c(a, 1, c3, c1, c2);
549 sqr_add_c2(a, 2, 0, c3, c1, c2);
552 sqr_add_c2(a, 3, 0, c1, c2, c3);
553 sqr_add_c2(a, 2, 1, c1, c2, c3);
556 sqr_add_c(a, 2, c2, c3, c1);
557 sqr_add_c2(a, 3, 1, c2, c3, c1);
558 sqr_add_c2(a, 4, 0, c2, c3, c1);
559 r[4] = c2;
560 c2 = 0;
561 sqr_add_c2(a, 5, 0, c3, c1, c2);
562 sqr_add_c2(a, 4, 1, c3, c1, c2);
563 sqr_add_c2(a, 3, 2, c3, c1, c2);
566 sqr_add_c(a, 3, c1, c2, c3);
567 sqr_add_c2(a, 4, 2, c1, c2, c3);
568 sqr_add_c2(a, 5, 1, c1, c2, c3);
569 sqr_add_c2(a, 6, 0, c1, c2, c3);
572 sqr_add_c2(a, 7, 0, c2, c3, c1);
573 sqr_add_c2(a, 6, 1, c2, c3, c1);
574 sqr_add_c2(a, 5, 2, c2, c3, c1);
575 sqr_add_c2(a, 4, 3, c2, c3, c1);
576 r[7] = c2;
577 c2 = 0;
578 sqr_add_c(a, 4, c3, c1, c2);
579 sqr_add_c2(a, 5, 3, c3, c1, c2);
580 sqr_add_c2(a, 6, 2, c3, c1, c2);
581 sqr_add_c2(a, 7, 1, c3, c1, c2);
584 sqr_add_c2(a, 7, 2, c1, c2, c3);
585 sqr_add_c2(a, 6, 3, c1, c2, c3);
586 sqr_add_c2(a, 5, 4, c1, c2, c3);
589 sqr_add_c(a, 5, c2, c3, c1);
590 sqr_add_c2(a, 6, 4, c2, c3, c1);
591 sqr_add_c2(a, 7, 3, c2, c3, c1);
592 r[10] = c2;
593 c2 = 0;
594 sqr_add_c2(a, 7, 4, c3, c1, c2);
595 sqr_add_c2(a, 6, 5, c3, c1, c2);
598 sqr_add_c(a, 6, c1, c2, c3);
599 sqr_add_c2(a, 7, 5, c1, c2, c3);
602 sqr_add_c2(a, 7, 6, c2, c3, c1);
603 r[13] = c2;
604 c2 = 0;
605 sqr_add_c(a, 7, c3, c1, c2);
612 BN_ULONG c1, c2, c3;
615 c2 = 0;
617 sqr_add_c(a, 0, c1, c2, c3);
620 sqr_add_c2(a, 1, 0, c2, c3, c1);
621 r[1] = c2;
622 c2 = 0;
623 sqr_add_c(a, 1, c3, c1, c2);
624 sqr_add_c2(a, 2, 0, c3, c1, c2);
627 sqr_add_c2(a, 3, 0, c1, c2, c3);
628 sqr_add_c2(a, 2, 1, c1, c2, c3);
631 sqr_add_c(a, 2, c2, c3, c1);
632 sqr_add_c2(a, 3, 1, c2, c3, c1);
633 r[4] = c2;
634 c2 = 0;
635 sqr_add_c2(a, 3, 2, c3, c1, c2);
638 sqr_add_c(a, 3, c1, c2, c3);
640 r[7] = c2;