blob: 7dc04e89876919c03c0eb19f2024bcd29ee2446e [file] [log] [blame]
// This assembler file contains instructions like ssax
// that were not assembler properly with NDKr5b's gas version.
//
/////// unittest.s ////////
@ For little endian
@.arch armv7a
.align 2
armSP_FFTFwd_CToC_SC16_Radix4_fs_OutOfPlace_unsafe:
push {r4, lr}
sub sp, sp, #32 @ 0x20
mov ip, #4 @ 0x4
lsr lr, r6, #2
str ip, [sp, #4]
str lr, [sp]
str r5, [sp, #16]
lsl ip, lr, #2
lsl r3, lr, #3
add r3, r3, ip
rsb r3, r3, #8 @ 0x8
str r1, [sp, #20]
ldrd r4, [r0], ip
ldrd r6, [r0], ip
ldrd r8, [r0], ip
ldrd sl, [r0], r3
strd r2, [sp, #8]
subs lr, lr, #2 @ 0x2
str lr, [sp, #24]
sadd16 r2, r4, r8
ssub16 r1, r4, r8
sadd16 r3, r6, sl
ssub16 lr, r6, sl
sadd16 r4, r2, r3
ssub16 r8, r2, r3
ssax r6, r1, lr
sasx sl, r1, lr
sadd16 r2, r5, r9
ssub16 r1, r5, r9
sadd16 r3, r7, fp
ssub16 lr, r7, fp
sadd16 r5, r2, r3
ssub16 r9, r2, r3
ldrd r2, [sp, #8]
ssax r7, r1, lr
sasx fp, r1, lr
strd r4, [r2], ip
strd r6, [r2], ip
strd r8, [r2], ip
strd sl, [r2], r3
ldr lr, [sp, #24]
bgt armSP_FFTFwd_CToC_SC16_Radix4_fs_OutOfPlace_unsafe+0x30
ldrd r6, [sp]
ldr r1, [sp, #20]
sub r0, r2, ip
ldr r2, [sp, #16]
add sp, sp, #32 @ 0x20
pop {r4, pc}