42
43 .section ".text",#alloc
44 .align 32
45
46 .section ".text",#alloc,#execinstr
47 .align 32
48 .skip 32
49
50 /*
51 * SUBROUTINE arcfour_crypt_aligned
52 *
53 * void arcfour_crypt_aligned(ARCFour_key *key, size_t len,
54 * uchar_t *in, uchar_t *out);
55 *
56 * in and out should be aligned on an 8-byte boundary, but len can be anything
57 */
58 .global arcfour_crypt_aligned
59
60
61 arcfour_crypt_aligned:
62
63 /* EXPORT DELETE START */
64 save %sp,-144,%sp
65
66 srl %i1, 3, %l7
67 ldub [%i0+256], %g1
68
69 orcc %l7, %g0, %g0
70 ldub [%i0+257], %g2
71
72 add %g1, 1, %o1
73 bz %icc, .Loop2
74 add %i0, 0, %i5
75
76 add %o1, 1, %g1
77 and %o1, 255, %o1
78
79 and %g1, 255, %g1
80 ldub [%i5 + %o1], %o3
81
82 ldub [%i5 + %g1], %g3
83
501 and %g2, 255, %g2
502
503 .L6A:
504 add %o2, %o3, %g2
505 or %o3, %g0, %g3
506 ba .L6B
507 and %g2, 255, %g2
508
509 .L7A:
510 add %o2, %o3, %g2
511 or %o3, %g0, %g3
512 ba .L7B
513 and %g2, 255, %g2
514
515 .L8A:
516 add %o2, %o3, %g2
517 or %o3, %g0, %g3
518 ba .L8B
519 and %g2, 255, %g2
520
521 /* EXPORT DELETE END */
522 .type arcfour_crypt_aligned,2
523 .size arcfour_crypt_aligned,(. - arcfour_crypt_aligned)
524
525 #endif /* lint || __lint */
|
42
43 .section ".text",#alloc
44 .align 32
45
46 .section ".text",#alloc,#execinstr
47 .align 32
48 .skip 32
49
50 /*
51 * SUBROUTINE arcfour_crypt_aligned
52 *
53 * void arcfour_crypt_aligned(ARCFour_key *key, size_t len,
54 * uchar_t *in, uchar_t *out);
55 *
56 * in and out should be aligned on an 8-byte boundary, but len can be anything
57 */
58 .global arcfour_crypt_aligned
59
60
61 arcfour_crypt_aligned:
62 save %sp,-144,%sp
63
64 srl %i1, 3, %l7
65 ldub [%i0+256], %g1
66
67 orcc %l7, %g0, %g0
68 ldub [%i0+257], %g2
69
70 add %g1, 1, %o1
71 bz %icc, .Loop2
72 add %i0, 0, %i5
73
74 add %o1, 1, %g1
75 and %o1, 255, %o1
76
77 and %g1, 255, %g1
78 ldub [%i5 + %o1], %o3
79
80 ldub [%i5 + %g1], %g3
81
499 and %g2, 255, %g2
500
501 .L6A:
502 add %o2, %o3, %g2
503 or %o3, %g0, %g3
504 ba .L6B
505 and %g2, 255, %g2
506
507 .L7A:
508 add %o2, %o3, %g2
509 or %o3, %g0, %g3
510 ba .L7B
511 and %g2, 255, %g2
512
513 .L8A:
514 add %o2, %o3, %g2
515 or %o3, %g0, %g3
516 ba .L8B
517 and %g2, 255, %g2
518
519 .type arcfour_crypt_aligned,2
520 .size arcfour_crypt_aligned,(. - arcfour_crypt_aligned)
521
522 #endif /* lint || __lint */
|