// -funroll-loops

basic_loop:
        mov     w3, w0
        mov     x0, 0
        mov     w2, 0
        ands    w1, w3, 7
        beq     .L6
        cmp     w2, w3
        bcs     .L35
        adrp    x4, .LANCHOR0
        and     x5, x2, 7
        add     x6, x4, :lo12:.LANCHOR0
        ldrsw   x7, [x6, x5, lsl 2]
        add     x0, x0, x7
        add     w2, w2, 1
        cmp     w1, 1
        beq     .L6
        cmp     w1, 2
        beq     .L29
        cmp     w1, 3
        beq     .L30
        cmp     w1, 4
        beq     .L31
        cmp     w1, 5
        beq     .L32
        cmp     w1, 6
        beq     .L33
        adrp    x8, .LANCHOR0
        and     x9, x2, 7
        add     x10, x8, :lo12:.LANCHOR0
        ldrsw   x11, [x10, x9, lsl 2]
        add     x0, x0, x11
        add     w2, w2, 1
.L33:
        adrp    x12, .LANCHOR0
        and     x13, x2, 7
        add     x14, x12, :lo12:.LANCHOR0
        ldrsw   x15, [x14, x13, lsl 2]
        add     x0, x0, x15
        add     w2, w2, 1
.L32:
        adrp    x16, .LANCHOR0
        and     x17, x2, 7
        add     x18, x16, :lo12:.LANCHOR0
        ldrsw   x1, [x18, x17, lsl 2]
        add     x0, x0, x1
        add     w2, w2, 1
.L31:
        adrp    x5, .LANCHOR0
        and     x4, x2, 7
        add     x6, x5, :lo12:.LANCHOR0
        ldrsw   x7, [x6, x4, lsl 2]
        add     x0, x0, x7
        add     w2, w2, 1
.L30:
        adrp    x8, .LANCHOR0
        and     x9, x2, 7
        add     x10, x8, :lo12:.LANCHOR0
        ldrsw   x11, [x10, x9, lsl 2]
        add     x0, x0, x11
        add     w2, w2, 1
.L29:
        adrp    x12, .LANCHOR0
        and     x13, x2, 7
        add     x14, x12, :lo12:.LANCHOR0
        ldrsw   x15, [x14, x13, lsl 2]
        add     x0, x0, x15
        add     w2, w2, 1
        b       .L6
.L7:
        and     x16, x2, 7
        adrp    x17, .LANCHOR0
        add     x18, x17, :lo12:.LANCHOR0
        ldrsw   x1, [x18, x16, lsl 2]
        add     x5, x0, x1
        add     w6, w2, 1
        adrp    x0, .LANCHOR0
        and     x4, x6, 7
        add     x7, x0, :lo12:.LANCHOR0
        ldrsw   x8, [x7, x4, lsl 2]
        add     x9, x5, x8
        add     w10, w6, 1
        adrp    x11, .LANCHOR0
        and     x12, x10, 7
        add     x13, x11, :lo12:.LANCHOR0
        ldrsw   x14, [x13, x12, lsl 2]
        add     x15, x9, x14
        add     w2, w6, 2
        adrp    x16, .LANCHOR0
        and     x17, x2, 7
        add     x18, x16, :lo12:.LANCHOR0
        ldrsw   x1, [x18, x17, lsl 2]
        add     x5, x15, x1
        add     w4, w6, 3
        adrp    x0, .LANCHOR0
        and     x7, x4, 7
        add     x8, x0, :lo12:.LANCHOR0
        ldrsw   x9, [x8, x7, lsl 2]
        add     x10, x5, x9
        add     w11, w6, 4
        adrp    x12, .LANCHOR0
        and     x13, x11, 7
        add     x14, x12, :lo12:.LANCHOR0
        ldrsw   x15, [x14, x13, lsl 2]
        add     x2, x10, x15
        add     w16, w6, 5
        adrp    x17, .LANCHOR0
        and     x18, x16, 7
        add     x1, x17, :lo12:.LANCHOR0
        ldrsw   x5, [x1, x18, lsl 2]
        add     x7, x2, x5
        add     w4, w6, 6
        adrp    x0, .LANCHOR0
        and     x8, x4, 7
        add     x9, x0, :lo12:.LANCHOR0
        ldrsw   x10, [x9, x8, lsl 2]
        add     x0, x7, x10
        add     w2, w6, 7
.L6:
        cmp     w2, w3
        bcc     .L7
.L35:
        ret
        .set    .LANCHOR0,. + 0
values:
        .word   5
        .word   6
        .word   2
        .word   9
        .word   8
        .word   2
        .word   9
        .word   7