All pastes #1495517 Raw Edit

Something

public text v1 · immutable
#1495517 ·published 2009-07-15 07:41 UTC
rendered paste body
beagleboard at 500MHz

calling all these functions with loop counter set to 500000000

a1

real    0m49.235s
user    0m45.617s
sys     0m3.609s

a2

real    0m46.012s
user    0m42.711s
sys     0m3.289s

b1

real    0m56.712s
user    0m52.656s
sys     0m4.047s

b2

real    0m32.085s
user    0m29.805s
sys     0m2.250s

/********************************************************************************/

    .text
    .global a1
    .global a2
    .global b1
    .global b2
    .fpu neon

a1:
    mov     r2, #0
1:
    vadd.i32 d0, d0, d1
    vmov.32 ip, d0[0]

    .rept 25
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    add     r2, r2, ip
    subs    r0, r0, #1
    bgt     1b
    bx      lr

a2:
    mov     r2, #0
1:
    vadd.i32 d0, d0, d1

    .rept 20
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    vmov.32 ip, d0[0]

    .rept 5
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    add     r2, r2, ip
    subs    r0, r0, #1
    bgt     1b
    bx      lr

b1:
    mov     r2, #0
1:
    vadd.i32 d0, d0, d1
    vst1.32 {d0[0]}, [r1]
    ldr     ip, [r1]

    .rept 25
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    add     r2, r2, ip
    subs    r0, r0, #1
    bgt     1b
    bx      lr

b2:
    mov     r2, #0
1:
    vadd.i32 d0, d0, d1
    vst1.32 {d0[0]}, [r1]

    .rept 20
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    ldr     ip, [r1]

    .rept 5
    add     r5, r5, #0
    add     r6, r6, #0
    .endr

    add     r2, r2, ip
    subs    r0, r0, #1
    bgt     1b
    bx      lr