summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2012-01-25 13:42:42 -0800
committerBen Cheng <bccheng@google.com>2012-01-26 10:34:52 -0800
commit2857b47a2731579772c76d46285660972c0ba23d (patch)
treeae1d5eced0947671a1ce2d0e55c70f225a10ec0b /media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
parent244ffc8b98c8b59cf64ef3d368c3373014a2f230 (diff)
downloadframeworks_av-2857b47a2731579772c76d46285660972c0ba23d.zip
frameworks_av-2857b47a2731579772c76d46285660972c0ba23d.tar.gz
frameworks_av-2857b47a2731579772c76d46285660972c0ba23d.tar.bz2
Preserve NEON callee-save registers d8-d15.
BUG:5918479 Change-Id: I574bd5845d9e7e007c637aabbf170d03217d10ad
Diffstat (limited to 'media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s')
-rw-r--r--media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s13
1 files changed, 12 insertions, 1 deletions
diff --git a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
index b2bc9d9..7f6b881 100644
--- a/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
+++ b/media/libstagefright/codecs/aacenc/src/asm/ARMV7/PrePostMDCT_v7.s
@@ -23,9 +23,13 @@
.section .text
.global PreMDCT
+ .fnstart
PreMDCT:
stmdb sp!, {r4 - r11, lr}
+ .save {r4 - r11, lr}
+ fstmfdd sp!, {d8 - d15}
+ .vsave {d8 - d15}
add r9, r0, r1, lsl #2
sub r3, r9, #32
@@ -74,14 +78,20 @@ PreMDCT_LOOP:
bne PreMDCT_LOOP
PreMDCT_END:
+ fldmfdd sp!, {d8 - d15}
ldmia sp!, {r4 - r11, pc}
@ENDP @ |PreMDCT|
+ .fnend
.section .text
.global PostMDCT
+ .fnstart
PostMDCT:
stmdb sp!, {r4 - r11, lr}
+ .save {r4 - r11, lr}
+ fstmfdd sp!, {d8 - d15}
+ .vsave {d8 - d15}
add r9, r0, r1, lsl #2
sub r3, r9, #32
@@ -129,7 +139,8 @@ PostMDCT_LOOP:
bne PostMDCT_LOOP
PostMDCT_END:
+ fldmfdd sp!, {d8 - d15}
ldmia sp!, {r4 - r11, pc}
@ENDP @ |PostMDCT|
- .end
+ .fnend