renderscript-toolkit/src/main/cpp/ColorMatrix_advsimd.S [1034:1080]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            adrp        x7, 2f
            add         x7, x7, :lo12:2f
            add         x4, x7, x2, LSL #3
            ldrsw       x2, [x4], #4
            ldrsw       x4, [x4]
            add         x2, x2, x7
            add         x4, x4, x7
            adrp        x7, 3f
            add         x7, x7, :lo12:3f
            add         x5, x7, x3, LSL #3
            ldrsw       x3, [x5], #4
            ldrsw       x5, [x5]
            add         x3, x3, x7
            add         x5, x5, x7
            stp         x2, x3, [x0, #32]
            stp         x4, x5, [x0, #48]

/* For each column function, if the matrix is all zeroes then write NULL,
 * otherwise look up the appropriate function and store that. */

            mov         x3, #4
            adrp        x7, 4f
            add         x7, x7, :lo12:4f
1:          ands        x2, x1, #15
            beq         9f
            and         x2, x1, #31
            lsl         x2, x2, #4
            ldrsw       x2, [x7, x2]
            add         x2, x2, x7
9:          str         x2, [x0], #8
            lsr         x1, x1, #5
            add         x7, x7, #4
            subs        x3, x3, #1
            bne         1b

/* For every NULL entry, copy the non-NULL entry that follows it, or the store
 * function. */

            ldr         x2, [x0]
            mov         x3, #4
1:          ldr         x1, [x0, #-8]!
            cmp         x1, #0
            csel        x2, x1, x2, ne
            str         x2, [x0]
            subs        x3, x3, #1
            bne         1b
            ret
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



renderscript-toolkit/src/main/cpp/ColorMatrix_advsimd.S [1182:1228]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
            adrp        x7, 2f
            add         x7, x7, :lo12:2f
            add         x4, x7, x2, LSL #3
            ldrsw       x2, [x4], #4
            ldrsw       x4, [x4]
            add         x2, x2, x7
            add         x4, x4, x7
            adrp        x7, 3f
            add         x7, x7, :lo12:3f
            add         x5, x7, x3, LSL #3
            ldrsw       x3, [x5], #4
            ldrsw       x5, [x5]
            add         x3, x3, x7
            add         x5, x5, x7
            stp         x2, x3, [x0, #32]
            stp         x4, x5, [x0, #48]

/* For each column function, if the matrix is all zeroes then write NULL,
 * otherwise look up the appropriate function and store that. */

            mov         x3, #4
            adrp        x7, 4f
            add         x7, x7, :lo12:4f
1:          ands        x2, x1, #15
            beq         9f
            and         x2, x1, #31
            lsl         x2, x2, #4
            ldrsw       x2, [x7, x2]
            add         x2, x2, x7
9:          str         x2, [x0], #8
            lsr         x1, x1, #5
            add         x7, x7, #4
            subs        x3, x3, #1
            bne         1b

/* For every NULL entry, copy the non-NULL entry that follows it, or the store
 * function. */

            ldr         x2, [x0]
            mov         x3, #4
1:          ldr         x1, [x0, #-8]!
            cmp         x1, #0
            csel        x2, x1, x2, ne
            str         x2, [x0]
            subs        x3, x3, #1
            bne         1b
            ret
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



