diff options
author | Rémi Denis-Courmont <remi@remlab.net> | 2024-07-23 18:47:08 +0300 |
---|---|---|
committer | Rémi Denis-Courmont <remi@remlab.net> | 2024-07-24 22:08:54 +0300 |
commit | 896c22ef000b5d122f14c9f85b364e2d21e1f45c (patch) | |
tree | 7f587d77d58d250f1e923ac7af5211910ec6aff9 /libavcodec | |
parent | 60b1750134963e8326476c4fbae41cea1772ff5b (diff) | |
download | ffmpeg-896c22ef000b5d122f14c9f85b364e2d21e1f45c.tar.gz |
lavc/vp8dsp: fix RV32 stack alignment
SP must be a multiple of 16 bytes at all times on POSIX - even in leaf
functions - so that signal handlers have a properly aligned stack.
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/riscv/vp8dsp_rvv.S | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/libavcodec/riscv/vp8dsp_rvv.S b/libavcodec/riscv/vp8dsp_rvv.S index d366748a0a..7e062d9f13 100644 --- a/libavcodec/riscv/vp8dsp_rvv.S +++ b/libavcodec/riscv/vp8dsp_rvv.S @@ -457,14 +457,14 @@ endfunc .macro epel_hv len hsize vsize func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x #if __riscv_xlen == 64 - addi sp, sp, -48 + addi sp, sp, -48 .irp n,0,1,2,3,4,5 - sd s\n, \n\()<<3(sp) + sd s\n, (\n * 8)(sp) .endr #else - addi sp, sp, -24 + addi sp, sp, -32 .irp n,0,1,2,3,4,5 - sw s\n, \n\()<<2(sp) + sw s\n, (\n * 4)(sp) .endr #endif sub a2, a2, a3 @@ -506,14 +506,14 @@ func ff_put_vp8_epel\len\()_h\hsize\()v\vsize\()_rvv, zve32x #if __riscv_xlen == 64 .irp n,0,1,2,3,4,5 - ld s\n, \n\()<<3(sp) + ld s\n, (\n * 8)(sp) .endr - addi sp, sp, 48 + addi sp, sp, 48 #else .irp n,0,1,2,3,4,5 - lw s\n, \n\()<<2(sp) + lw s\n, (\n * 4)(sp) .endr - addi sp, sp, 24 + addi sp, sp, 32 #endif ret |