aboutsummaryrefslogtreecommitdiff
path: root/common/arm/ihevc_sao_edge_offset_class1.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_sao_edge_offset_class1.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_sao_edge_offset_class1.s')
-rw-r--r--common/arm/ihevc_sao_edge_offset_class1.s21
1 files changed, 16 insertions, 5 deletions
diff --git a/common/arm/ihevc_sao_edge_offset_class1.s b/common/arm/ihevc_sao_edge_offset_class1.s
index aa1337f..029ac46 100644
--- a/common/arm/ihevc_sao_edge_offset_class1.s
+++ b/common/arm/ihevc_sao_edge_offset_class1.s
@@ -58,6 +58,14 @@
@r7 => wd
@r8 => ht
+.equ pu1_src_top_left_offset, 104
+.equ pu1_src_top_right_offset, 108
+.equ pu1_src_bot_left_offset, 112
+.equ pu1_avail_offset, 116
+.equ pi1_sao_offset, 120
+.equ wd_offset, 124
+.equ ht_offset, 128
+
.text
.p2align 2
@@ -71,11 +79,13 @@ ihevc_sao_edge_offset_class1_a9q:
STMFD sp!, {r4-r12, r14} @stack stores the values of the arguments
- LDR r7,[sp,#60] @Loads wd
- LDR r4,[sp,#40] @Loads pu1_src_top_left
- LDR r5,[sp,#52] @Loads pu1_avail
- LDR r6,[sp,#56] @Loads pi1_sao_offset
- LDR r8,[sp,#64] @Loads ht
+ vpush {d8 - d15}
+
+ LDR r7,[sp,#wd_offset] @Loads wd
+ LDR r4,[sp,#pu1_src_top_left_offset] @Loads pu1_src_top_left
+ LDR r5,[sp,#pu1_avail_offset] @Loads pu1_avail
+ LDR r6,[sp,#pi1_sao_offset] @Loads pi1_sao_offset
+ LDR r8,[sp,#ht_offset] @Loads ht
SUB r9,r7,#1 @wd - 1
LDRB r10,[r3,r9] @pu1_src_top[wd - 1]
@@ -362,6 +372,7 @@ PU1_SRC_LOOP_RESIDUE:
VST1.8 {D30},[r10],r1 @vst1q_u8(pu1_src_cpy, pu1_cur_row)
END_LOOPS:
+ vpop {d8 - d15}
LDMFD sp!,{r4-r12,r15} @Reload the registers from SP