Lines Matching refs:c2

271 /* mul_add_c(a,b,c0,c1,c2)  -- c+=a*b for three word number c=(c2,c1,c0) */
272 /* mul_add_c2(a,b,c0,c1,c2) -- c+=2*a*b for three word number c=(c2,c1,c0) */
273 /* sqr_add_c(a,i,c0,c1,c2) -- c+=a[i]^2 for three word number c=(c2,c1,c0) */
274 /* sqr_add_c2(a,i,c0,c1,c2) -- c+=2*a[i]*a[j] for three word number c=(c2,c1,c0) */
282 #define mul_add_c(a,b,c0,c1,c2) { \
287 c1 += t2; c2 += (c1<t2)?1:0; \
290 #define mul_add_c2(a,b,c0,c1,c2) { \
295 c1 += t2; c2 += (c1<t2)?1:0; \
297 c1 += t1; c2 += (c1<t1)?1:0; \
300 #define mul_add_c(a,b,c0,c1,c2) do { \
310 : "+r"(c1),"+r"(c2) \
315 #define sqr_add_c(a,i,c0,c1,c2) do { \
325 : "+r"(c1),"+r"(c2) \
330 #define mul_add_c2(a,b,c0,c1,c2) do { \
336 : "+r"(c0),"+r"(c1),"+r"(c2) \
340 : "+r"(c0),"+r"(c1),"+r"(c2) \
346 #define sqr_add_c2(a,i,j,c0,c1,c2) \
347 mul_add_c2((a)[i],(a)[j],c0,c1,c2)
352 BN_ULONG c1,c2,c3;
355 c2=0;
357 mul_add_c(a[0],b[0],c1,c2,c3);
360 mul_add_c(a[0],b[1],c2,c3,c1);
361 mul_add_c(a[1],b[0],c2,c3,c1);
362 r[1]=c2;
363 c2=0;
364 mul_add_c(a[2],b[0],c3,c1,c2);
365 mul_add_c(a[1],b[1],c3,c1,c2);
366 mul_add_c(a[0],b[2],c3,c1,c2);
369 mul_add_c(a[0],b[3],c1,c2,c3);
370 mul_add_c(a[1],b[2],c1,c2,c3);
371 mul_add_c(a[2],b[1],c1,c2,c3);
372 mul_add_c(a[3],b[0],c1,c2,c3);
375 mul_add_c(a[4],b[0],c2,c3,c1);
376 mul_add_c(a[3],b[1],c2,c3,c1);
377 mul_add_c(a[2],b[2],c2,c3,c1);
378 mul_add_c(a[1],b[3],c2,c3,c1);
379 mul_add_c(a[0],b[4],c2,c3,c1);
380 r[4]=c2;
381 c2=0;
382 mul_add_c(a[0],b[5],c3,c1,c2);
383 mul_add_c(a[1],b[4],c3,c1,c2);
384 mul_add_c(a[2],b[3],c3,c1,c2);
385 mul_add_c(a[3],b[2],c3,c1,c2);
386 mul_add_c(a[4],b[1],c3,c1,c2);
387 mul_add_c(a[5],b[0],c3,c1,c2);
390 mul_add_c(a[6],b[0],c1,c2,c3);
391 mul_add_c(a[5],b[1],c1,c2,c3);
392 mul_add_c(a[4],b[2],c1,c2,c3);
393 mul_add_c(a[3],b[3],c1,c2,c3);
394 mul_add_c(a[2],b[4],c1,c2,c3);
395 mul_add_c(a[1],b[5],c1,c2,c3);
396 mul_add_c(a[0],b[6],c1,c2,c3);
399 mul_add_c(a[0],b[7],c2,c3,c1);
400 mul_add_c(a[1],b[6],c2,c3,c1);
401 mul_add_c(a[2],b[5],c2,c3,c1);
402 mul_add_c(a[3],b[4],c2,c3,c1);
403 mul_add_c(a[4],b[3],c2,c3,c1);
404 mul_add_c(a[5],b[2],c2,c3,c1);
405 mul_add_c(a[6],b[1],c2,c3,c1);
406 mul_add_c(a[7],b[0],c2,c3,c1);
407 r[7]=c2;
408 c2=0;
409 mul_add_c(a[7],b[1],c3,c1,c2);
410 mul_add_c(a[6],b[2],c3,c1,c2);
411 mul_add_c(a[5],b[3],c3,c1,c2);
412 mul_add_c(a[4],b[4],c3,c1,c2);
413 mul_add_c(a[3],b[5],c3,c1,c2);
414 mul_add_c(a[2],b[6],c3,c1,c2);
415 mul_add_c(a[1],b[7],c3,c1,c2);
418 mul_add_c(a[2],b[7],c1,c2,c3);
419 mul_add_c(a[3],b[6],c1,c2,c3);
420 mul_add_c(a[4],b[5],c1,c2,c3);
421 mul_add_c(a[5],b[4],c1,c2,c3);
422 mul_add_c(a[6],b[3],c1,c2,c3);
423 mul_add_c(a[7],b[2],c1,c2,c3);
426 mul_add_c(a[7],b[3],c2,c3,c1);
427 mul_add_c(a[6],b[4],c2,c3,c1);
428 mul_add_c(a[5],b[5],c2,c3,c1);
429 mul_add_c(a[4],b[6],c2,c3,c1);
430 mul_add_c(a[3],b[7],c2,c3,c1);
431 r[10]=c2;
432 c2=0;
433 mul_add_c(a[4],b[7],c3,c1,c2);
434 mul_add_c(a[5],b[6],c3,c1,c2);
435 mul_add_c(a[6],b[5],c3,c1,c2);
436 mul_add_c(a[7],b[4],c3,c1,c2);
439 mul_add_c(a[7],b[5],c1,c2,c3);
440 mul_add_c(a[6],b[6],c1,c2,c3);
441 mul_add_c(a[5],b[7],c1,c2,c3);
444 mul_add_c(a[6],b[7],c2,c3,c1);
445 mul_add_c(a[7],b[6],c2,c3,c1);
446 r[13]=c2;
447 c2=0;
448 mul_add_c(a[7],b[7],c3,c1,c2);
456 BN_ULONG c1,c2,c3;
459 c2=0;
461 mul_add_c(a[0],b[0],c1,c2,c3);
464 mul_add_c(a[0],b[1],c2,c3,c1);
465 mul_add_c(a[1],b[0],c2,c3,c1);
466 r[1]=c2;
467 c2=0;
468 mul_add_c(a[2],b[0],c3,c1,c2);
469 mul_add_c(a[1],b[1],c3,c1,c2);
470 mul_add_c(a[0],b[2],c3,c1,c2);
473 mul_add_c(a[0],b[3],c1,c2,c3);
474 mul_add_c(a[1],b[2],c1,c2,c3);
475 mul_add_c(a[2],b[1],c1,c2,c3);
476 mul_add_c(a[3],b[0],c1,c2,c3);
479 mul_add_c(a[3],b[1],c2,c3,c1);
480 mul_add_c(a[2],b[2],c2,c3,c1);
481 mul_add_c(a[1],b[3],c2,c3,c1);
482 r[4]=c2;
483 c2=0;
484 mul_add_c(a[2],b[3],c3,c1,c2);
485 mul_add_c(a[3],b[2],c3,c1,c2);
488 mul_add_c(a[3],b[3],c1,c2,c3);
490 r[7]=c2;
496 BN_ULONG c1,c2,c3;
499 c2=0;
501 sqr_add_c(a,0,c1,c2,c3);
504 sqr_add_c2(a,1,0,c2,c3,c1);
505 r[1]=c2;
506 c2=0;
507 sqr_add_c(a,1,c3,c1,c2);
508 sqr_add_c2(a,2,0,c3,c1,c2);
511 sqr_add_c2(a,3,0,c1,c2,c3);
512 sqr_add_c2(a,2,1,c1,c2,c3);
515 sqr_add_c(a,2,c2,c3,c1);
516 sqr_add_c2(a,3,1,c2,c3,c1);
517 sqr_add_c2(a,4,0,c2,c3,c1);
518 r[4]=c2;
519 c2=0;
520 sqr_add_c2(a,5,0,c3,c1,c2);
521 sqr_add_c2(a,4,1,c3,c1,c2);
522 sqr_add_c2(a,3,2,c3,c1,c2);
525 sqr_add_c(a,3,c1,c2,c3);
526 sqr_add_c2(a,4,2,c1,c2,c3);
527 sqr_add_c2(a,5,1,c1,c2,c3);
528 sqr_add_c2(a,6,0,c1,c2,c3);
531 sqr_add_c2(a,7,0,c2,c3,c1);
532 sqr_add_c2(a,6,1,c2,c3,c1);
533 sqr_add_c2(a,5,2,c2,c3,c1);
534 sqr_add_c2(a,4,3,c2,c3,c1);
535 r[7]=c2;
536 c2=0;
537 sqr_add_c(a,4,c3,c1,c2);
538 sqr_add_c2(a,5,3,c3,c1,c2);
539 sqr_add_c2(a,6,2,c3,c1,c2);
540 sqr_add_c2(a,7,1,c3,c1,c2);
543 sqr_add_c2(a,7,2,c1,c2,c3);
544 sqr_add_c2(a,6,3,c1,c2,c3);
545 sqr_add_c2(a,5,4,c1,c2,c3);
548 sqr_add_c(a,5,c2,c3,c1);
549 sqr_add_c2(a,6,4,c2,c3,c1);
550 sqr_add_c2(a,7,3,c2,c3,c1);
551 r[10]=c2;
552 c2=0;
553 sqr_add_c2(a,7,4,c3,c1,c2);
554 sqr_add_c2(a,6,5,c3,c1,c2);
557 sqr_add_c(a,6,c1,c2,c3);
558 sqr_add_c2(a,7,5,c1,c2,c3);
561 sqr_add_c2(a,7,6,c2,c3,c1);
562 r[13]=c2;
563 c2=0;
564 sqr_add_c(a,7,c3,c1,c2);
572 BN_ULONG c1,c2,c3;
575 c2=0;
577 sqr_add_c(a,0,c1,c2,c3);
580 sqr_add_c2(a,1,0,c2,c3,c1);
581 r[1]=c2;
582 c2=0;
583 sqr_add_c(a,1,c3,c1,c2);
584 sqr_add_c2(a,2,0,c3,c1,c2);
587 sqr_add_c2(a,3,0,c1,c2,c3);
588 sqr_add_c2(a,2,1,c1,c2,c3);
591 sqr_add_c(a,2,c2,c3,c1);
592 sqr_add_c2(a,3,1,c2,c3,c1);
593 r[4]=c2;
594 c2=0;
595 sqr_add_c2(a,3,2,c3,c1,c2);
598 sqr_add_c(a,3,c1,c2,c3);
600 r[7]=c2;