summary refs log tree commit diff stats
path: root/target/sparc/vis_helper.c
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-11-04 18:31:59 -0700
committerRichard Henderson <richard.henderson@linaro.org>2024-06-05 09:08:39 -0700
commit029b0283dfe64c38e48f9dd9aad0dc6d254c4ea4 (patch)
tree25df031c4500638fd437912c34b7bc72b8b7f81c /target/sparc/vis_helper.c
parent680af1b4a523cd7f15690cad7afb069e6efbbec0 (diff)
downloadfocaccia-qemu-029b0283dfe64c38e48f9dd9aad0dc6d254c4ea4.tar.gz
focaccia-qemu-029b0283dfe64c38e48f9dd9aad0dc6d254c4ea4.zip
target/sparc: Implement XMULX
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/sparc/vis_helper.c')
-rw-r--r--target/sparc/vis_helper.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/target/sparc/vis_helper.c b/target/sparc/vis_helper.c
index c21522c533..c927a054b8 100644
--- a/target/sparc/vis_helper.c
+++ b/target/sparc/vis_helper.c
@@ -20,6 +20,7 @@
 #include "qemu/osdep.h"
 #include "cpu.h"
 #include "exec/helper-proto.h"
+#include "crypto/clmul.h"
 
 target_ulong helper_array8(target_ulong rs1, target_ulong rs2)
 {
@@ -509,3 +510,13 @@ uint64_t helper_fslas32(uint64_t src1, uint64_t src2)
 
     return r.ll;
 }
+
+uint64_t helper_xmulx(uint64_t src1, uint64_t src2)
+{
+    return int128_getlo(clmul_64(src1, src2));
+}
+
+uint64_t helper_xmulxhi(uint64_t src1, uint64_t src2)
+{
+    return int128_gethi(clmul_64(src1, src2));
+}