From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: mark.cave-ayland@ilande.co.uk
Subject: [PATCH RISU v2 11/13] sparc64: Add VIS3 instructions
Date: Sun, 26 May 2024 12:36:35 -0700 [thread overview]
Message-ID: <20240526193637.459064-12-richard.henderson@linaro.org> (raw)
In-Reply-To: <20240526193637.459064-1-richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
sparc64.risu | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 88 insertions(+)
diff --git a/sparc64.risu b/sparc64.risu
index 5b90b70..ca7ed35 100644
--- a/sparc64.risu
+++ b/sparc64.risu
@@ -155,3 +155,91 @@ FNMSUBs FMAF 10 rd:5 110111 rs1:5 rs3:5 1001 rs2:5
FNMSUBd FMAF 10 rd:5 110111 rs1:5 rs3:5 1010 rs2:5
FNMADDs FMAF 10 rd:5 110111 rs1:5 rs3:5 1101 rs2:5
FNMADDd FMAF 10 rd:5 110111 rs1:5 rs3:5 1110 rs2:5
+
+#
+# VIS3
+#
+
+ADDXC VIS3 10 rd:5 110110 rs1:5 0 0001 00 cc 1 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+
+FCHKSM16 VIS3 10 rd:5 110110 rs1:5 0 0100 0100 rs2:5
+FMEAN16 VIS3 10 rd:5 110110 rs1:5 0 0100 0000 rs2:5
+
+FHADDs VIS3 10 rd:5 110100 rs1:5 0 0110 0001 rs2:5
+FHADDd VIS3 10 rd:5 110100 rs1:5 0 0110 0010 rs2:5
+FHSUBs VIS3 10 rd:5 110100 rs1:5 0 0110 0101 rs2:5
+FHSUBd VIS3 10 rd:5 110100 rs1:5 0 0110 0110 rs2:5
+FNHADDs VIS3 10 rd:5 110100 rs1:5 0 0111 0001 rs2:5
+FNHADDd VIS3 10 rd:5 110100 rs1:5 0 0111 0010 rs2:5
+
+FNADDs VIS3 10 rd:5 110100 rs1:5 0 0101 0001 rs2:5
+FNADDd VIS3 10 rd:5 110100 rs1:5 0 0101 0010 rs2:5
+FNMULs VIS3 10 rd:5 110100 rs1:5 0 0101 1001 rs2:5
+FNMULd VIS3 10 rd:5 110100 rs1:5 0 0101 1010 rs2:5
+
+FPADD64 VIS3 10 rd:5 110110 rs1:5 0 0100 0010 rs2:5
+FPSUB64 VIS3 10 rd:5 110110 rs1:5 0 0100 0110 rs2:5
+
+FPADDS16 VIS3 10 rd:5 110110 rs1:5 0 0101 1000 rs2:5
+FPADDS16s VIS3 10 rd:5 110110 rs1:5 0 0101 1001 rs2:5
+FPADDS32 VIS3 10 rd:5 110110 rs1:5 0 0101 1010 rs2:5
+FPADDS32s VIS3 10 rd:5 110110 rs1:5 0 0101 1011 rs2:5
+FPSUBS16 VIS3 10 rd:5 110110 rs1:5 0 0101 1100 rs2:5
+FPSUBS16s VIS3 10 rd:5 110110 rs1:5 0 0101 1101 rs2:5
+FPSUBS32 VIS3 10 rd:5 110110 rs1:5 0 0101 1110 rs2:5
+FPSUBS32s VIS3 10 rd:5 110110 rs1:5 0 0101 1111 rs2:5
+
+FPCMPULE8 VIS3 10 rd:5 110110 rs1:5 1 0010 0000 rs2:5 \
+ !constraints { reg_ok($rd) }
+FPCMPUGT8 VIS3 10 rd:5 110110 rs1:5 1 0010 1000 rs2:5 \
+ !constraints { reg_ok($rd) }
+FPCMPEQ8 VIS3 10 rd:5 110110 rs1:5 1 0010 0010 rs2:5 \
+ !constraints { reg_ok($rd) }
+FPCMPNE8 VIS3 10 rd:5 110110 rs1:5 1 0010 1010 rs2:5 \
+ !constraints { reg_ok($rd) }
+
+FSLL16 VIS3 10 rd:5 110110 rs1:5 0 0010 0001 rs2:5
+FSRL16 VIS3 10 rd:5 110110 rs1:5 0 0010 0011 rs2:5
+FSLAS16 VIS3 10 rd:5 110110 rs1:5 0 0010 1001 rs2:5
+FSRA16 VIS3 10 rd:5 110110 rs1:5 0 0010 1011 rs2:5
+FSLL32 VIS3 10 rd:5 110110 rs1:5 0 0010 0101 rs2:5
+FSRL32 VIS3 10 rd:5 110110 rs1:5 0 0010 0111 rs2:5
+FSLAS32 VIS3 10 rd:5 110110 rs1:5 0 0010 1101 rs2:5
+FSRA32 VIS3 10 rd:5 110110 rs1:5 0 0010 1111 rs2:5
+
+LZCNT VIS3 10 rd:5 110110 00000 0 0001 0111 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs2); }
+
+PDISTN VIS3 10 rd:5 110110 rs1:5 0 0011 1111 rs2:5 \
+ !constraints { reg_ok($rd) }
+
+UMULXHI VIS3 10 rd:5 110110 rs1:5 0 0001 0110 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+XMULX VIS3 10 rd:5 110110 rs1:5 1 0001 0101 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+XMULXHI VIS3 10 rd:5 110110 rs1:5 1 0001 0110 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+
+MOVsTOuw VIS3 10 rd:5 110110 00000 1 0001 0001 rs2:5 \
+ !constraints { reg_ok($rd) }
+MOVsTOsw VIS3 10 rd:5 110110 00000 1 0001 0011 rs2:5 \
+ !constraints { reg_ok($rd) }
+MOVwTOs VIS3 10 rd:5 110110 00000 1 0001 1001 rs2:5 \
+ !constraints { reg_ok($rs2) }
+MOVdTOx VIS3 10 rd:5 110110 00000 1 0001 0000 rs2:5 \
+ !constraints { reg_ok($rd) }
+MOVxTOd VIS3 10 rd:5 110110 00000 1 0001 1000 rs2:5 \
+ !constraints { reg_ok($rs2) }
+
+# Defer
+# LDXEFSR_r VIS3 11 00011 100001 rs1:5 0 00000000 rs2:5
+# LDXEFSR_i VIS3 11 00011 100001 rs1:5 1 simm:13
+
+# %gsr not handled by risu
+# CMASK8 VIS3 10 00000 110110 00000 0 0001 1011 rs2:5 \
+# !constraints { reg_ok($rs2); }
+# CMASK16 VIS3 10 00000 110110 00000 0 0001 1101 rs2:5 \
+# !constraints { reg_ok($rs2); }
+# CMASK32 VIS3 10 00000 110110 00000 0 0001 1111 rs2:5 \
+# !constraints { reg_ok($rs2); }
--
2.34.1
next prev parent reply other threads:[~2024-05-26 19:37 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-26 19:36 [PATCH RISU v2 00/13] ELF and Sparc64 support Richard Henderson
2024-05-26 19:36 ` [PATCH RISU v2 01/13] risu: Allow use of ELF test files Richard Henderson
2024-05-30 12:45 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 02/13] Build elf test cases instead of raw binaries Richard Henderson
2024-05-30 12:45 ` Peter Maydell
2024-05-30 13:40 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 03/13] Introduce host_context_t Richard Henderson
2024-05-30 12:46 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 04/13] risu: Add initial sparc64 support Richard Henderson
2024-05-30 13:02 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 05/13] risugen: Be explicit about print destinations Richard Henderson
2024-05-30 12:51 ` Peter Maydell
2024-05-30 17:37 ` Richard Henderson
2024-05-31 9:53 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 06/13] risugen: Add sparc64 support Richard Henderson
2024-05-30 13:23 ` Peter Maydell
2024-05-30 17:44 ` Richard Henderson
2024-05-26 19:36 ` [PATCH RISU v2 07/13] contrib/generate_all: Do not rely on ag Richard Henderson
2024-05-30 13:13 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 08/13] sparc64: Add a few logical insns Richard Henderson
2024-05-30 13:24 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 09/13] sparc64: Add VIS1 instructions Richard Henderson
2024-05-30 13:25 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 10/13] sparc64: Add VIS2 and FMAF insns Richard Henderson
2024-05-30 13:25 ` Peter Maydell
2024-05-26 19:36 ` Richard Henderson [this message]
2024-05-30 13:26 ` [PATCH RISU v2 11/13] sparc64: Add VIS3 instructions Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 12/13] sparc64: Add IMA instructions Richard Henderson
2024-05-30 13:25 ` Peter Maydell
2024-05-26 19:36 ` [PATCH RISU v2 13/13] sparc64: Add VIS4 instructions Richard Henderson
2024-05-30 13:25 ` Peter Maydell
2024-05-28 20:43 ` [PATCH RISU v2 00/13] ELF and Sparc64 support Mark Cave-Ayland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240526193637.459064-12-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).