Annotation of researchv9/sys.vax/inet/vecadd.s, revision 1.1.1.1

1.1       root        1:        .text
                      2:        .align  2
                      3:        .globl  _vecadd
                      4: _vecadd:
                      5:        .word   L.R1
                      6:        subl2   $L.SO1,sp
                      7:        .stabs  "vecadd",0x24,0,6,_vecadd
                      8:        .stabs  "vecadd",0x20,0,77,0
                      9:        .stabs  "w",0xa0,0,45,4
                     10:        .stabs  "n",0xa0,0,4,8
                     11:        .stabs  "s",0xa0,0,13,12
                     12:        movl    4(ap),r11
                     13:        movl    8(ap),r10
                     14:        movl    12(ap),r9
                     15: L15:
                     16: # while n >= 128
                     17:        subl2   $128,r10
                     18:        jlss    L14
                     19: #  add in 128 bytes
                     20:        addl2   (r11)+,r9
                     21:        adwc    (r11)+,r9
                     22:        adwc    (r11)+,r9
                     23:        adwc    (r11)+,r9
                     24:        adwc    (r11)+,r9
                     25:        adwc    (r11)+,r9
                     26:        adwc    (r11)+,r9
                     27:        adwc    (r11)+,r9
                     28:        adwc    (r11)+,r9
                     29:        adwc    (r11)+,r9
                     30:        adwc    (r11)+,r9
                     31:        adwc    (r11)+,r9
                     32:        adwc    (r11)+,r9
                     33:        adwc    (r11)+,r9
                     34:        adwc    (r11)+,r9
                     35:        adwc    (r11)+,r9
                     36:        adwc    (r11)+,r9
                     37:        adwc    (r11)+,r9
                     38:        adwc    (r11)+,r9
                     39:        adwc    (r11)+,r9
                     40:        adwc    (r11)+,r9
                     41:        adwc    (r11)+,r9
                     42:        adwc    (r11)+,r9
                     43:        adwc    (r11)+,r9
                     44:        adwc    (r11)+,r9
                     45:        adwc    (r11)+,r9
                     46:        adwc    (r11)+,r9
                     47:        adwc    (r11)+,r9
                     48:        adwc    (r11)+,r9
                     49:        adwc    (r11)+,r9
                     50:        adwc    (r11)+,r9
                     51:        adwc    (r11)+,r9
                     52:        adwc    $0,r9
                     53:        jbr     L15
                     54: L14:
                     55:        addl2   $128,r10
                     56: L17:
                     57: # while n >= 32
                     58:        subl2   $32,r10
                     59:        jlss    L16
                     60: #  add in 32 bytes
                     61:        addl2   (r11)+,r9
                     62:        adwc    (r11)+,r9
                     63:        adwc    (r11)+,r9
                     64:        adwc    (r11)+,r9
                     65:        adwc    (r11)+,r9
                     66:        adwc    (r11)+,r9
                     67:        adwc    (r11)+,r9
                     68:        adwc    (r11)+,r9
                     69:        adwc    $0,r9
                     70:        jbr     L17
                     71: L16:
                     72:        addl2   $32,r10
                     73: # fold the long
                     74:        ashl    $-16,r9,r0
                     75:        movzwl  r0,r0
                     76:        movzwl  r9,r9
                     77:        addl2   r0,r9
                     78: L19:
                     79: # while n >= 2
                     80:        subl2   $2,r10
                     81:        jlss    L18
                     82: #  add in 2 bytes
                     83:        movzwl  (r11)+,r0
                     84:        addl2   r0,r9
                     85:        jbr     L19
                     86: L18:
                     87:        cmpl    r10,$-1
                     88:        jneq    L20
                     89:        movzbl  (r11),r0
                     90:        addl2   r0,r9
                     91: L20:
                     92: # fold the long
                     93:        ashl    $-16,r9,r0
                     94:        movzwl  r9,r9
                     95:        addl2   r0,r9
                     96:        ashl    $-16,r9,r0
                     97:        movzwl  r9,r9
                     98:        addw2   r9,r0
                     99:        jbr     L13
                    100:        .stabs  "s",0x40,0,13,9
                    101:        .stabs  "n",0x40,0,4,10
                    102:        .stabs  "w",0x40,0,45,11
                    103: L13:
                    104:        ret
                    105:        .set    L.R1,0xe00
                    106:        .set    L.SO1,0x0

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.