[FFmpeg-cvslog] Revert "lavu/timer: remove gratuitous volatile"

Rémi Denis-Courmont git at videolan.org
Thu Sep 28 17:48:23 EEST 2023


ffmpeg | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Sep 27 19:23:39 2023 +0300| [7a24d794f64050212b320072ab663bc4e2f1d101] | committer: Rémi Denis-Courmont

Revert "lavu/timer: remove gratuitous volatile"

It does not make much sense to me, but GCC somehow optimises the
inline assembler even though the output is very obviously used and
having observable side effects.

This reverts commit 09731fbfc3a914ec4f6ffad60aa9062db6a8f6aa.

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

 libavutil/riscv/timer.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavutil/riscv/timer.h b/libavutil/riscv/timer.h
index df1a730b5e..174b469cbe 100644
--- a/libavutil/riscv/timer.h
+++ b/libavutil/riscv/timer.h
@@ -29,13 +29,13 @@ static inline uint64_t ff_read_time(void)
 #if (__riscv_xlen >= 64)
     uintptr_t cycles;
 
-    __asm__ ("rdtime  %0" : "=r" (cycles));
+    __asm__ volatile ("rdtime  %0" : "=r" (cycles));
 
 #else
     uint64_t cycles;
     uint32_t hi, lo, check;
 
-    __asm__ (
+    __asm__ volatile (
         "1: rdtimeh %0\n"
         "   rdtime  %1\n"
         "   rdtimeh %2\n"



More information about the ffmpeg-cvslog mailing list