rendered paste body/*
* Benchmark on ARM Cortex-A9 (OMAP4)
*
* $ gcc test-OoO.S
* $ time ./a.out
*
* real 0m8.066s
* user 0m8.061s
* sys 0m0.003s
*
* $ gcc -DUSE_THUMB test-OoO.S
* $ time ./a.out
*
* real 0m10.349s
* user 0m10.344s
* sys 0m0.003s
*/
.syntax unified
.arch armv7a
.global main
#ifdef USE_THUMB
.thumb
.thumb_func
#endif
main:
push {r4-r12, lr}
ldr r0, =1000*1000*1000
.balign 16
1:
mov r1, r2
add r1, lr
mov r2, r1
mov r9, r3
add r9, lr
mov r3, r9
mov r1, r2
add r1, lr
mov r2, r1
mov r9, r3
add r9, lr
mov r3, r9
subs r0, r0, #1
bne 1b
pop {r4-r12, pc}