summary refs log tree commit diff stats
path: root/accel/tcg/tcg-runtime.h
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2022-11-09 00:23:44 +1100
committerRichard Henderson <richard.henderson@linaro.org>2023-02-04 06:19:42 -1000
commit123ae5683c9e7815857304fd2f21664621c90a13 (patch)
tree1f26d3d871ddc58e58e2d3dacb9cd31a464209b1 /accel/tcg/tcg-runtime.h
parentcb48f3654e290ee5d7cbf1fb31888463fa2a180c (diff)
downloadfocaccia-qemu-123ae5683c9e7815857304fd2f21664621c90a13.tar.gz
focaccia-qemu-123ae5683c9e7815857304fd2f21664621c90a13.zip
tcg: Add tcg_gen_{non}atomic_cmpxchg_i128
This will allow targets to avoid rolling their own.

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'accel/tcg/tcg-runtime.h')
-rw-r--r--accel/tcg/tcg-runtime.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/accel/tcg/tcg-runtime.h b/accel/tcg/tcg-runtime.h
index 37cbd722bf..e141a6ab24 100644
--- a/accel/tcg/tcg-runtime.h
+++ b/accel/tcg/tcg-runtime.h
@@ -55,6 +55,17 @@ DEF_HELPER_FLAGS_5(atomic_cmpxchgq_be, TCG_CALL_NO_WG,
 DEF_HELPER_FLAGS_5(atomic_cmpxchgq_le, TCG_CALL_NO_WG,
                    i64, env, tl, i64, i64, i32)
 #endif
+#ifdef CONFIG_CMPXCHG128
+DEF_HELPER_FLAGS_5(atomic_cmpxchgo_be, TCG_CALL_NO_WG,
+                   i128, env, tl, i128, i128, i32)
+DEF_HELPER_FLAGS_5(atomic_cmpxchgo_le, TCG_CALL_NO_WG,
+                   i128, env, tl, i128, i128, i32)
+#endif
+
+DEF_HELPER_FLAGS_5(nonatomic_cmpxchgo_be, TCG_CALL_NO_WG,
+                   i128, env, tl, i128, i128, i32)
+DEF_HELPER_FLAGS_5(nonatomic_cmpxchgo_le, TCG_CALL_NO_WG,
+                   i128, env, tl, i128, i128, i32)
 
 #ifdef CONFIG_ATOMIC64
 #define GEN_ATOMIC_HELPERS(NAME)                                  \