[FFmpeg-cvslog] aarch64/hevc: Replace br return with ret

Casey Smalley git at videolan.org
Tue Aug 8 13:48:42 EEST 2023

ffmpeg | branch: master | Casey Smalley <casey.smalley at arm.com> | Thu Jul 27 11:26:26 2023 +0100| [b98ee1a355e45d617e2b2a19722f74b4fe724ed3] | committer: Martin Storsjö

aarch64/hevc: Replace br return with ret

This patch changes the return instruction in the tr_32x4 macro from
BR to RET.

Function returns should always use the RET instruction instead of BR,
to avoid interfering with branch prediction.

On devices that support BTI, this is observeable as a landing pad is
required when branching with BR. The change fixes
fate-hevc-hdr-vivid-metadata when on hardware with BTI support.

Signed-off-by: Casey Smalley <casey.smalley at arm.com>
Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b98ee1a355e45d617e2b2a19722f74b4fe724ed3

 libavcodec/aarch64/hevcdsp_idct_neon.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/aarch64/hevcdsp_idct_neon.S b/libavcodec/aarch64/hevcdsp_idct_neon.S
index f7142c939c..ba8a1ebaed 100644
--- a/libavcodec/aarch64/hevcdsp_idct_neon.S
+++ b/libavcodec/aarch64/hevcdsp_idct_neon.S
@@ -790,7 +790,7 @@ function func_tr_32x4_\name
         add             x3, x11, #(32 + 3 * 64)
         scale_store     \shift
-        br               x10
+        ret             x10

More information about the ffmpeg-cvslog mailing list