Document wswap_i64(), added in commit 46be8425ff
("tcg: Implement tcg_gen_{h,w}swap_{i32,i64}").
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
docs/devel/tcg-ops.rst | 4 ++++
tcg/tcg-op.c | 5 +++++
2 files changed, 9 insertions(+)
diff --git a/docs/devel/tcg-ops.rst b/docs/devel/tcg-ops.rst
index d9364effd2..306025ece7 100644
--- a/docs/devel/tcg-ops.rst
+++ b/docs/devel/tcg-ops.rst
@@ -490,6 +490,10 @@ Misc
- | Swap 16-bit halfwords within a 32/64-bit value.
+ * - wswap_i64 *t0*, *t1*
+
+ - | Swap 32-bit words within a 64-bit value.
+
Conditional moves
-----------------
diff --git a/tcg/tcg-op.c b/tcg/tcg-op.c
index bb64326a1a..c436c5e263 100644
--- a/tcg/tcg-op.c
+++ b/tcg/tcg-op.c
@@ -1908,6 +1908,11 @@ void tcg_gen_hswap_i64(TCGv_i64 ret, TCGv_i64 arg)
tcg_temp_free_i64(t1);
}
+/*
+ * wswap_i64: Swap 32-bit words within a 64-bit value.
+ *
+ * Byte pattern: wswap_i64(abcdefgh) -> efghabcd
+ */
void tcg_gen_wswap_i64(TCGv_i64 ret, TCGv_i64 arg)
{
/* Swapping 2 32-bit elements is a rotate. */
--
2.41.0