aboutsummaryrefslogtreecommitdiff
path: root/common/arm/ihevc_inter_pred_chroma_vert_w16out.s
diff options
context:
space:
mode:
authorRakesh Kumar <rakesh.kumar@ittiam.com>2017-11-07 22:51:30 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-11-07 22:51:30 +0000
commit1d0fe6aaf99c3ef1e2d9c4c15ad49ad9180da5b5 (patch)
tree1654eb72f94c15fcda13fc52bf7cc8e1b05db214 /common/arm/ihevc_inter_pred_chroma_vert_w16out.s
parent4c7f3d573692c09ccbb56bb2fd51527686d109f5 (diff)
parent68f18ba505a4c7fb39ec1ca1f6888e95acc1ff51 (diff)
downloadlibhevc-1d0fe6aaf99c3ef1e2d9c4c15ad49ad9180da5b5.tar.gz
Add PUSH-POP of D registers in Arm Neon 32 bit functions am: a47cb8865a am: 9525ebc765 am: 0671e4cda7 am: ff7a95abd4 am: 6acf9167da am: 85ae219fca
am: 68f18ba505 Change-Id: I3f172309ba2c249d587987bd94d5b5b0937affd3
Diffstat (limited to 'common/arm/ihevc_inter_pred_chroma_vert_w16out.s')
-rw-r--r--common/arm/ihevc_inter_pred_chroma_vert_w16out.s12
1 files changed, 9 insertions, 3 deletions
diff --git a/common/arm/ihevc_inter_pred_chroma_vert_w16out.s b/common/arm/ihevc_inter_pred_chroma_vert_w16out.s
index 6e6776c..84b0792 100644
--- a/common/arm/ihevc_inter_pred_chroma_vert_w16out.s
+++ b/common/arm/ihevc_inter_pred_chroma_vert_w16out.s
@@ -93,6 +93,10 @@
@r2 => src_strd
@r3 => dst_strd
+.equ coeff_offset, 104
+.equ ht_offset, 108
+.equ wd_offset, 112
+
.text
.align 4
@@ -106,11 +110,12 @@
ihevc_inter_pred_chroma_vert_w16out_a9q:
stmfd sp!,{r4-r12,r14} @stack stores the values of the arguments
+ vpush {d8 - d15}
- ldr r4,[sp,#44] @loads ht
- ldr r12,[sp,#40] @loads pi1_coeff
+ ldr r4,[sp,#ht_offset] @loads ht
+ ldr r12,[sp,#coeff_offset] @loads pi1_coeff
cmp r4,#0 @checks ht == 0
- ldr r6,[sp,#48] @loads wd
+ ldr r6,[sp,#wd_offset] @loads wd
sub r0,r0,r2 @pu1_src - src_strd
vld1.8 {d0},[r12] @loads pi1_coeff
@@ -361,6 +366,7 @@ epilog:
vst1.8 {q12},[r7],r3 @stores the loaded value
end_loops:
+ vpop {d8 - d15}
ldmfd sp!,{r4-r12,r15} @reload the registers from sp