From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, mark.cave-ayland@ilande.co.uk
Subject: [PATCH RISU v2 8/8] sparc64: Add VIS1 instructions
Date: Tue, 21 May 2024 20:44:42 -0700 [thread overview]
Message-ID: <20240522034442.140293-9-richard.henderson@linaro.org> (raw)
In-Reply-To: <20240522034442.140293-1-richard.henderson@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
sparc64.risu | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
diff --git a/sparc64.risu b/sparc64.risu
index b45ea86..10a8510 100644
--- a/sparc64.risu
+++ b/sparc64.risu
@@ -28,3 +28,94 @@ XOR_r SPARC 10 rd:5 0 cc:1 0011 rs1:5 0 00000000 rs2:5 \
!constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
XOR_i SPARC 10 rd:5 0 cc:1 0011 rs1:5 1 imm:13 \
!constraints { reg_ok($rd) && reg_ok($rs1); }
+
+#
+# VIS1
+#
+
+EDGE8cc VIS1 10 rd:5 110110 rs1:5 0 0000 0000 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+EDGE8Lcc VIS1 10 rd:5 110110 rs1:5 0 0000 0010 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+EDGE16cc VIS1 10 rd:5 110110 rs1:5 0 0000 0100 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+EDGE16Lcc VIS1 10 rd:5 110110 rs1:5 0 0000 0110 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+EDGE32cc VIS1 10 rd:5 110110 rs1:5 0 0000 1000 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+EDGE32Lcc VIS1 10 rd:5 110110 rs1:5 0 0000 1010 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+
+ARRAY8 VIS1 10 rd:5 110110 rs1:5 0 0001 0000 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+ARRAY16 VIS1 10 rd:5 110110 rs1:5 0 0001 0010 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+ARRAY32 VIS1 10 rd:5 110110 rs1:5 0 0001 0100 rs2:5 \
+ !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+
+FZEROd VIS1 10 rd:5 110110 00000 0 0110 0000 00000
+FZEROs VIS1 10 rd:5 110110 00000 0 0110 0001 00000
+FONEd VIS1 10 rd:5 110110 00000 0 0110 1110 00000
+FONEs VIS1 10 rd:5 110110 00000 0 0110 1111 00000
+
+FSRC1d VIS1 10 rd:5 110110 rs1:5 0 0111 0100 00000
+FSRC1s VIS1 10 rd:5 110110 rs1:5 0 0111 0101 00000
+FSRC2d VIS1 10 rd:5 110110 00000 0 0111 1000 rs2:5
+FSRC2s VIS1 10 rd:5 110110 00000 0 0111 1001 rs2:5
+FNOT1d VIS1 10 rd:5 110110 rs1:5 0 0110 1010 00000
+FNOT1s VIS1 10 rd:5 110110 rs1:5 0 0110 1011 00000
+FNOT2d VIS1 10 rd:5 110110 00000 0 0110 0110 rs2:5
+FNOT2s VIS1 10 rd:5 110110 00000 0 0110 0111 rs2:5
+
+FPADD16 VIS1 10 rd:5 110110 rs1:5 0 0101 0000 rs2:5
+FPADD16s VIS1 10 rd:5 110110 rs1:5 0 0101 0001 rs2:5
+FPADD32 VIS1 10 rd:5 110110 rs1:5 0 0101 0010 rs2:5
+FPADD32s VIS1 10 rd:5 110110 rs1:5 0 0101 0011 rs2:5
+FPSUB16 VIS1 10 rd:5 110110 rs1:5 0 0101 0100 rs2:5
+FPSUB16s VIS1 10 rd:5 110110 rs1:5 0 0101 0101 rs2:5
+FPSUB32 VIS1 10 rd:5 110110 rs1:5 0 0101 0110 rs2:5
+FPSUB32s VIS1 10 rd:5 110110 rs1:5 0 0101 0111 rs2:5
+
+FNORd VIS1 10 rd:5 110110 rs1:5 0 0110 0010 rs2:5
+FNORs VIS1 10 rd:5 110110 rs1:5 0 0110 0011 rs2:5
+FANDNOT1d VIS1 10 rd:5 110110 rs1:5 0 0110 0100 rs2:5
+FANDNOT1s VIS1 10 rd:5 110110 rs1:5 0 0110 0101 rs2:5
+FANDNOT2d VIS1 10 rd:5 110110 rs1:5 0 0110 1000 rs2:5
+FANDNOT2s VIS1 10 rd:5 110110 rs1:5 0 0110 1001 rs2:5
+FXORd VIS1 10 rd:5 110110 rs1:5 0 0110 1100 rs2:5
+FXORs VIS1 10 rd:5 110110 rs1:5 0 0110 1101 rs2:5
+FNANDd VIS1 10 rd:5 110110 rs1:5 0 0110 1110 rs2:5
+FNANDs VIS1 10 rd:5 110110 rs1:5 0 0110 1111 rs2:5
+FANDd VIS1 10 rd:5 110110 rs1:5 0 0111 0000 rs2:5
+FANDs VIS1 10 rd:5 110110 rs1:5 0 0111 0001 rs2:5
+FXNORd VIS1 10 rd:5 110110 rs1:5 0 0111 0010 rs2:5
+FXNORs VIS1 10 rd:5 110110 rs1:5 0 0111 0011 rs2:5
+FORNOT1d VIS1 10 rd:5 110110 rs1:5 0 0111 0110 rs2:5
+FORNOT1s VIS1 10 rd:5 110110 rs1:5 0 0111 0111 rs2:5
+FORNOT2d VIS1 10 rd:5 110110 rs1:5 0 0111 1010 rs2:5
+FORNOT2s VIS1 10 rd:5 110110 rs1:5 0 0111 1011 rs2:5
+FORd VIS1 10 rd:5 110110 rs1:5 0 0111 1100 rs2:5
+FORs VIS1 10 rd:5 110110 rs1:5 0 0111 1101 rs2:5
+
+FMUL8x16 VIS1 10 rd:5 110110 rs1:5 0 0011 0001 rs2:5
+FMUL8x16AU VIS1 10 rd:5 110110 rs1:5 0 0011 0011 rs2:5
+FMUL8x16AL VIS1 10 rd:5 110110 rs1:5 0 0011 0101 rs2:5
+FMUL8SUx16 VIS1 10 rd:5 110110 rs1:5 0 0011 0110 rs2:5
+FMUL8ULx16 VIS1 10 rd:5 110110 rs1:5 0 0011 0111 rs2:5
+FMULD8SUx16 VIS1 10 rd:5 110110 rs1:5 0 0011 1000 rs2:5
+FMULD8ULx16 VIS1 10 rd:5 110110 rs1:5 0 0011 1001 rs2:5
+
+FPACK32 VIS1 10 rd:5 110110 rs1:5 0 0011 1010 rs2:5
+FPACK16 VIS1 10 rd:5 110110 00000 0 0011 1011 rs2:5
+FPACKFIX VIS1 10 rd:5 110110 00000 0 0011 1101 rs2:5
+PDIST VIS1 10 rd:5 110110 rs1:5 0 0011 1110 rs2:5
+
+FPMERGE VIS1 10 rd:5 110110 rs1:5 0 0100 1011 rs2:5
+FEXPAND VIS1 10 rd:5 110110 00000 0 0100 1101 rs2:5
+
+# %gsr not handled by risu
+# ALIGNADDR VIS1 10 rd:5 110110 rs1:5 0 0001 1000 rs2:5 \
+# !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+# ALIGNADDRL VIS1 10 rd:5 110110 rs1:5 0 0001 1010 rs2:5 \
+# !constraints { reg_ok($rd) && reg_ok($rs1) && reg_ok($rs2); }
+# FALIGNDATAg VIS1 10 rd:5 110110 rs1:5 0 0100 1000 rs2:5
--
2.34.1
prev parent reply other threads:[~2024-05-22 3:45 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-22 3:44 [PATCH RISU v2 0/8] ELF and Sparc64 support Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 1/8] risu: Allow use of ELF test files Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 2/8] Build elf test cases instead of raw binaries Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 3/8] Introduce host_context_t Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 4/8] risu: Add initial sparc64 support Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 5/8] risugen: Be explicit about print destinations Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 6/8] risugen: Add sparc64 support Richard Henderson
2024-05-22 3:44 ` [PATCH RISU v2 7/8] sparc64: Add a few logical insns Richard Henderson
2024-05-22 3:44 ` Richard Henderson [this message]
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=20240522034442.140293-9-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=peter.maydell@linaro.org \
--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).