aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Denis-Courmont <remi@remlab.net>2023-09-27 19:23:39 +0300
committerRémi Denis-Courmont <remi@remlab.net>2023-09-28 17:48:18 +0300
commit7a24d794f64050212b320072ab663bc4e2f1d101 (patch)
tree03d061bcb2d3b54a3a94b8fffee59dbc5ece82ff
parent8eb094adb2ac3b6ea1d2cdd0fdfc7b69b2084db9 (diff)
downloadffmpeg-7a24d794f64050212b320072ab663bc4e2f1d101.tar.gz
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.
-rw-r--r--libavutil/riscv/timer.h4
1 files 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"