aboutsummaryrefslogtreecommitdiff
path: root/common/armv8/ih264_weighted_pred_av8.s
diff options
context:
space:
mode:
Diffstat (limited to 'common/armv8/ih264_weighted_pred_av8.s')
-rw-r--r--common/armv8/ih264_weighted_pred_av8.s58
1 files changed, 30 insertions, 28 deletions
diff --git a/common/armv8/ih264_weighted_pred_av8.s b/common/armv8/ih264_weighted_pred_av8.s
index 69ed3b0..f145217 100644
--- a/common/armv8/ih264_weighted_pred_av8.s
+++ b/common/armv8/ih264_weighted_pred_av8.s
@@ -89,22 +89,22 @@
// UWORD8 *puc_dst,
// WORD32 src_strd,
// WORD32 dst_strd,
-// UWORD8 log_WD,
-// UWORD32 wt,
-// UWORD16 ofst,
-// UWORD8 ht,
-// UWORD8 wd)
+// WORD32 log_WD,
+// WORD32 wt,
+// WORD32 ofst,
+// WORD32 ht,
+// WORD32 wd)
//
//**************Variables Vs Registers*****************************************
// x0 => puc_src
// x1 => puc_dst
-// x2 => src_strd
-// x3 => dst_strd
-// [sp] => log_WD (x4)
-// [sp+4] => wt (x5)
-// [sp+8] => ofst (x6)
-// [sp+12] => ht (x7)
-// [sp+16] => wd (x8)
+// w2 => src_strd
+// w3 => dst_strd
+// w4 => log_WD
+// w5 => wt
+// w6 => ofst
+// w7 => ht
+// [sp] => wd (w8)
//
.text
.p2align 2
@@ -118,13 +118,14 @@ ih264_weighted_pred_luma_av8:
// STMFD sp!, {x4-x9,x14} //stack stores the values of the arguments
push_v_regs
+ sxtw x2, w2
+ sxtw x3, w3
stp x19, x20, [sp, #-16]!
ldr w8, [sp, #80] //Load wd
sxtw x8, w8
dup v2.4h, w5 //D2 = wt (16-bit)
- sub x20, x4, #0 //x9 = -log_WD
- neg x9, x20
+ neg w9, w4 //w9 = -log_WD
dup v3.8b, w6 //D3 = ofst (8-bit)
cmp w8, #16 //check if wd is 16
dup v0.8h, w9 //Q0 = -log_WD (16-bit)
@@ -318,22 +319,22 @@ end_loops:
// UWORD8 *puc_dst,
// WORD32 src_strd,
// WORD32 dst_strd,
-// UWORD8 log_WD,
-// UWORD32 wt,
-// UWORD16 ofst,
-// UWORD8 ht,
-// UWORD8 wd)
+// WORD32 log_WD,
+// WORD32 wt,
+// WORD32 ofst,
+// WORD32 ht,
+// WORD32 wd)
//
//**************Variables Vs Registers*****************************************
// x0 => puc_src
// x1 => puc_dst
-// x2 => src_strd
-// x3 => dst_strd
-// [sp] => log_WD (x4)
-// [sp+4] => wt (x5)
-// [sp+8] => ofst (x6)
-// [sp+12] => ht (x7)
-// [sp+16] => wd (x8)
+// w2 => src_strd
+// w3 => dst_strd
+// w4 => log_WD
+// w5 => wt
+// w6 => ofst
+// w7 => ht
+// [sp] => wd (w8)
//
@@ -345,13 +346,14 @@ ih264_weighted_pred_chroma_av8:
// STMFD sp!, {x4-x9,x14} //stack stores the values of the arguments
push_v_regs
+ sxtw x2, w2
+ sxtw x3, w3
stp x19, x20, [sp, #-16]!
ldr w8, [sp, #80] //Load wd
sxtw x8, w8
- sub x20, x4, #0 //x9 = -log_WD
- neg x9, x20
+ neg w9, w4 //w9 = -log_WD
dup v2.4s, w5 //Q1 = {wt_u (16-bit), wt_v (16-bit)}