test_mem: fix asm variant of read/write test

Change-Id: I865691e7540d4a6d18be34e8b81d0b3056837fa0
This commit is contained in:
Mihail Zenkov 2015-06-05 01:57:07 +00:00 committed by Solomon Peachy
parent db87e1aae5
commit b200cd7e4a
1 changed files with 26 additions and 26 deletions

View File

@ -79,21 +79,17 @@ static void write_test(volatile int *buf, int buf_size, int loop_cnt)
{
#if defined(CPU_ARM)
asm volatile (
"mov r0, #0 \n"
"mov r1, #1 \n"
"mov r2, #2 \n"
"mov r3, #3 \n"
"mov r6, %[loops] \n"
".outer_loop_read: \n"
"mov r4, %[buf_p] \n"
"mov r5, %[size] \n"
".inner_loop_read: \n"
"stmia r4!, {r0-r3} \n"
"stmia r4!, {r0-r3} \n"
"subs r5, r5, #8 \n"
"bgt .inner_loop_read \n"
"subs r6, r6, #1 \n"
"bgt .outer_loop_read \n"
"mov r6, %[loops] \n"
".outer_loop_write: \n"
"mov r4, %[buf_p] \n"
"mov r5, %[size] \n"
".inner_loop_write: \n"
"ldmia r4!, {r0-r3} \n"
"subs r5, r5, #8 \n"
"ldmia r4!, {r0-r3} \n"
"bgt .inner_loop_write \n"
"subs r6, r6, #1 \n"
"bgt .outer_loop_write \n"
:
: [loops] "r" (loop_cnt), [size] "r" (buf_size), [buf_p] "r" (buf)
: "r0", "r1", "r2", "r3", "r4", "r5", "r6", "memory", "cc"
@ -116,17 +112,21 @@ static void read_test(volatile int *buf, int buf_size, int loop_cnt)
{
#if defined(CPU_ARM)
asm volatile (
"mov r6, %[loops] \n"
".outer_loop_write: \n"
"mov r4, %[buf_p] \n"
"mov r5, %[size] \n"
".inner_loop_write: \n"
"ldmia r4!, {r0-r3} \n"
"subs r5, r5, #8 \n"
"ldmia r4!, {r0-r3} \n"
"bgt .inner_loop_write \n"
"subs r6, r6, #1 \n"
"bgt .outer_loop_write \n"
"mov r0, #0 \n"
"mov r1, #1 \n"
"mov r2, #2 \n"
"mov r3, #3 \n"
"mov r6, %[loops] \n"
".outer_loop_read: \n"
"mov r4, %[buf_p] \n"
"mov r5, %[size] \n"
".inner_loop_read: \n"
"stmia r4!, {r0-r3} \n"
"stmia r4!, {r0-r3} \n"
"subs r5, r5, #8 \n"
"bgt .inner_loop_read \n"
"subs r6, r6, #1 \n"
"bgt .outer_loop_read \n"
:
: [loops] "r" (loop_cnt), [size] "r" (buf_size), [buf_p] "r" (buf)
: "r0", "r1", "r2", "r3", "r4", "r5", "r6", "memory", "cc"