diff options
| author | Richard Henderson <richard.henderson@linaro.org> | 2023-11-04 18:31:59 -0700 |
|---|---|---|
| committer | Richard Henderson <richard.henderson@linaro.org> | 2024-06-05 09:08:39 -0700 |
| commit | 029b0283dfe64c38e48f9dd9aad0dc6d254c4ea4 (patch) | |
| tree | 25df031c4500638fd437912c34b7bc72b8b7f81c /target/sparc/vis_helper.c | |
| parent | 680af1b4a523cd7f15690cad7afb069e6efbbec0 (diff) | |
| download | focaccia-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.c | 11 |
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)); +} |