Mercurial > hg > peckfft
diff kf_bfly2.S @ 9:8726585681f6
backup
author | Peter Meerwald <p.meerwald@bct-electronic.com> |
---|---|
date | Wed, 21 Sep 2011 12:18:40 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kf_bfly2.S Wed Sep 21 12:18:40 2011 +0200 @@ -0,0 +1,48 @@ + .cpu cortex-a8 + .eabi_attribute 27, 3 + .fpu neon + .eabi_attribute 23, 1 + .eabi_attribute 24, 1 + .eabi_attribute 25, 1 + .eabi_attribute 26, 2 + .eabi_attribute 30, 1 + .eabi_attribute 18, 4 + + .text + .align 2 + .global kf_bfly2 + .type kf_bfly2, %function +kf_bfly2: + .fnstart + .cfi_startproc + add r2, r2, #264 + mov r1, r1, asl #4 + sub r1, r1, #16 + add ip, r0, r3, asl #4 +.for: + + vld1.32 {d24,d25}, [ip] + vld1.32 {d20,d21}, [r2]! + + vmul.f32 d17, d24, d20 + vmul.f32 d18, d20, d25 + vld1.32 {d19,d20}, [r0] + vmls.f32 d17, d25, d21 + vmla.f32 d18, d24, d21 + + add r2, r2, r1 + + vsub.f32 d24, d19, d17 + vsub.f32 d25, d20, d18 + vst1.32 {d24,d25}, [ip]! + + vadd.f32 d17, d19, d17 + vadd.f32 d18, d20, d18 + vst1.32 {d17,d18}, [r0]! + + subs r3, r3, #1 + bne .for + bx lr + .cfi_endproc + .fnend + .size kf_bfly2, .-kf_bfly2