public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections
@ 2021-10-06 20:26 Philipp Tomsich
  2021-10-06 20:26 ` [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0 Philipp Tomsich
                   ` (3 more replies)
  0 siblings, 4 replies; 17+ messages in thread
From: Philipp Tomsich @ 2021-10-06 20:26 UTC (permalink / raw)
  To: binutils; +Cc: Kito Cheng, Jim Wilson, Jan Beulich, Philipp Tomsich

The Zb[abc] opcodes are bundled just below the Privileged opcodes in
riscv_opcodes, possibly giving the appearance that they are part of
the Privileged spec for an uninitiated reader.  This separates them
out and adds comments above each section to clearly identify them as
Zba, Zbb or Zbc opcodes.

2021-10-04  Philipp Tomsich  <philipp.tomsich@vrull.eu>

    opcodes/
	* riscv-opc.c: Split of Zb[abc] instructions and add comments.

Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>

---

Changes in v3:
- Added patch to regroup/add comments for instructions in riscv-opc.c

 opcodes/riscv-opc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index f55a01b071c..e0621503b79 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -782,6 +782,8 @@ const struct riscv_opcode riscv_opcodes[] =
 {"sfence.vma", 0, INSN_CLASS_I,    "s",        MATCH_SFENCE_VMA, MASK_SFENCE_VMA|MASK_RS2, match_opcode, INSN_ALIAS },
 {"sfence.vma", 0, INSN_CLASS_I,    "s,t",      MATCH_SFENCE_VMA, MASK_SFENCE_VMA, match_opcode, 0 },
 {"wfi",        0, INSN_CLASS_I,    "",         MATCH_WFI, MASK_WFI, match_opcode, 0 },
+
+/* Zbb instructions */
 {"clz",        0, INSN_CLASS_ZBB,  "d,s",   MATCH_CLZ, MASK_CLZ, match_opcode, 0 },
 {"ctz",        0, INSN_CLASS_ZBB,  "d,s",   MATCH_CTZ, MASK_CTZ, match_opcode, 0 },
 {"cpop",       0, INSN_CLASS_ZBB,  "d,s",   MATCH_CPOP, MASK_CPOP, match_opcode, 0 },
@@ -813,6 +815,8 @@ const struct riscv_opcode riscv_opcodes[] =
 {"roriw",     64, INSN_CLASS_ZBB,  "d,s,<", MATCH_RORIW, MASK_RORIW, match_opcode, 0 },
 {"rorw",      64, INSN_CLASS_ZBB,  "d,s,t", MATCH_RORW, MASK_RORW, match_opcode, 0 },
 {"rorw",      64, INSN_CLASS_ZBB,  "d,s,<", MATCH_RORIW, MASK_RORIW, match_opcode, 0 },
+
+/* Zba instructions */
 {"sh1add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH1ADD, MASK_SH1ADD, match_opcode, 0 },
 {"sh2add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH2ADD, MASK_SH2ADD, match_opcode, 0 },
 {"sh3add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH3ADD, MASK_SH3ADD, match_opcode, 0 },
@@ -823,6 +827,8 @@ const struct riscv_opcode riscv_opcodes[] =
 {"zext.w",    64, INSN_CLASS_I, "d,s",       0, (int) M_ZEXTW, match_never, INSN_MACRO },
 {"add.uw",    64, INSN_CLASS_ZBA,  "d,s,t", MATCH_ADD_UW, MASK_ADD_UW, match_opcode, 0 },
 {"slli.uw",   64, INSN_CLASS_ZBA,  "d,s,>", MATCH_SLLI_UW, MASK_SLLI_UW, match_opcode, 0 },
+
+/* Zbc instructions */
 {"clmul",      0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMUL, MASK_CLMUL, match_opcode, 0 },
 {"clmulh",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULH, MASK_CLMULH, match_opcode, 0 },
 {"clmulr",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULR, MASK_CLMULR, match_opcode, 0 },
-- 
2.25.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0
  2021-10-06 20:26 [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Philipp Tomsich
@ 2021-10-06 20:26 ` Philipp Tomsich
  2021-10-07  4:02   ` Nelson Chu
  2021-10-06 20:26 ` [PATCH v3 3/4] RISC-V: Add support for Zbs instructions Philipp Tomsich
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 17+ messages in thread
From: Philipp Tomsich @ 2021-10-06 20:26 UTC (permalink / raw)
  To: binutils; +Cc: Kito Cheng, Jim Wilson, Jan Beulich, Philipp Tomsich

2021-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>

    bfd/
	* elfxx-riscv.c (riscv_supported_std_z_ext): Update the version
	number for zba, zbb and zbc to 1.0.0

Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>

Version-changes: 3
- Updated version numbers for zba, zbb and zbc to 1.0.0

---

(no changes since v1)

 bfd/elfxx-riscv.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 044cc63d09e..39a7d693469 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1142,9 +1142,9 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
   {"zifencei",		ISA_SPEC_CLASS_20191213,	2, 0,  0 },
   {"zifencei",		ISA_SPEC_CLASS_20190608,	2, 0,  0 },
   {"zihintpause",	ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
-  {"zbb",		ISA_SPEC_CLASS_DRAFT,		0, 93, 0 },
-  {"zba",		ISA_SPEC_CLASS_DRAFT,		0, 93, 0 },
-  {"zbc",		ISA_SPEC_CLASS_DRAFT,		0, 93, 0 },
+  {"zbb",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zba",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zbc",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {NULL, 0, 0, 0, 0}
 };
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v3 3/4] RISC-V: Add support for Zbs instructions
  2021-10-06 20:26 [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Philipp Tomsich
  2021-10-06 20:26 ` [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0 Philipp Tomsich
@ 2021-10-06 20:26 ` Philipp Tomsich
  2021-10-07  4:02   ` Nelson Chu
  2021-10-07  6:57   ` Jan Beulich
  2021-10-06 20:26 ` [PATCH v3 4/4] RISC-V: Support aliases " Philipp Tomsich
  2021-10-07  4:01 ` [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Nelson Chu
  3 siblings, 2 replies; 17+ messages in thread
From: Philipp Tomsich @ 2021-10-06 20:26 UTC (permalink / raw)
  To: binutils; +Cc: Kito Cheng, Jim Wilson, Jan Beulich, Philipp Tomsich

This change adds the Zbs instructions from the Zbs 1.0.0 specification.
See
  https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0
for the frozen specification.

2021-01-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>

    bfd/
	* elfxx-riscv.c (riscv_supported_std_z_ext): Added zbs.
    gas/
	* config/tc-riscv.c (riscv_multi_subset_supports): Handle INSN_CLASS_ZBS.
	* testsuite/gas/riscv/b-ext.d: Test Zbs instructions.
	* testsuite/gas/riscv/b-ext.s: Likewise.
	* testsuite/gas/riscv/b-ext-64.d: Likewise.
	* testsuite/gas/riscv/b-ext-64.s: Likewise.
    include/
	* opcode/riscv-opc.h: Added MASK/MATCH/DECLARE_INSN for Zbs.
	* opcode/riscv.h (riscv_insn_class): Added INSN_CLASS_ZBS.
    opcodes/
	* riscv-opc.c (riscv_supported_std_z_ext): Add zbs.

Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>

---

Changes in v3:
- Updated to 1.0.0 specification and rebased to master

 bfd/elfxx-riscv.c                  |  1 +
 gas/config/tc-riscv.c              |  3 +++
 gas/testsuite/gas/riscv/b-ext-64.d | 18 +++++++++++++++++-
 gas/testsuite/gas/riscv/b-ext-64.s | 16 ++++++++++++++++
 gas/testsuite/gas/riscv/b-ext.d    | 14 +++++++++++++-
 gas/testsuite/gas/riscv/b-ext.s    | 12 ++++++++++++
 include/opcode/riscv-opc.h         | 24 ++++++++++++++++++++++++
 include/opcode/riscv.h             |  1 +
 opcodes/riscv-opc.c                |  9 +++++++++
 9 files changed, 96 insertions(+), 2 deletions(-)

diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index 39a7d693469..cdb4fa0996a 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1145,6 +1145,7 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
   {"zbb",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zba",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
   {"zbc",		ISA_SPEC_CLASS_DRAFT,		1, 0,  0 },
+  {"zbs",               ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
   {NULL, 0, 0, 0, 0}
 };
 
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index e7b733a4e6d..f7e0c929aa0 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -283,6 +283,9 @@ riscv_multi_subset_supports (enum riscv_insn_class insn_class)
     case INSN_CLASS_ZBC:
       return riscv_subset_supports ("zbc");
 
+    case INSN_CLASS_ZBS:
+      return riscv_subset_supports ("zbs");
+
     default:
       as_fatal ("internal: unreachable");
       return false;
diff --git a/gas/testsuite/gas/riscv/b-ext-64.d b/gas/testsuite/gas/riscv/b-ext-64.d
index f4a7abf02d7..339fa20a367 100644
--- a/gas/testsuite/gas/riscv/b-ext-64.d
+++ b/gas/testsuite/gas/riscv/b-ext-64.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i_zba_zbb_zbc
+#as: -march=rv64i_zba_zbb_zbc_zbs
 #source: b-ext-64.s
 #objdump: -d
 
@@ -46,3 +46,19 @@ Disassembly of section .text:
 [ 	]+8c:[ 	]+08c5853b[ 	]+add.uw[ 	]+a0,a1,a2
 [ 	]+90:[ 	]+0805853b[ 	]+zext.w[ 	]+a0,a1
 [ 	]+94:[ 	]+0825951b[ 	]+slli.uw[ 	]+a0,a1,0x2
+[ 	]+[0-9a-f]+:[ 	]+48059513[ 	]+bclri[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+49f59513[ 	]+bclri[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+28059513[ 	]+bseti[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+29f59513[ 	]+bseti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+68059513[ 	]+binvi[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+69f59513[ 	]+binvi[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+4805d513[ 	]+bexti[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+49f5d513[ 	]+bexti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+4bf59513[ 	]+bclri[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+2bf59513[ 	]+bseti[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+6bf59513[ 	]+binvi[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+4bf5d513[ 	]+bexti[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+48c59533[ 	]+bclr[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+28c59533[ 	]+bset[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+68c59533[ 	]+binv[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+48c5d533[ 	]+bext[ 	]+a0,a1,a2
diff --git a/gas/testsuite/gas/riscv/b-ext-64.s b/gas/testsuite/gas/riscv/b-ext-64.s
index c3ac377f4bd..8ceb2b4fd1c 100644
--- a/gas/testsuite/gas/riscv/b-ext-64.s
+++ b/gas/testsuite/gas/riscv/b-ext-64.s
@@ -37,3 +37,19 @@ target:
 	add.uw	a0, a1, a2
 	zext.w	a0, a1
 	slli.uw	a0, a1, 2
+	bclri   a0, a1, 0
+	bclri   a0, a1, 31
+	bseti   a0, a1, 0
+	bseti   a0, a1, 31
+	binvi   a0, a1, 0
+	binvi   a0, a1, 31
+	bexti   a0, a1, 0
+	bexti   a0, a1, 31
+	bclri   a0, a1, 63
+	bseti   a0, a1, 63
+	binvi   a0, a1, 63
+	bexti   a0, a1, 63
+	bclr    a0, a1, a2
+	bset    a0, a1, a2
+	binv    a0, a1, a2
+	bext    a0, a1, a2
diff --git a/gas/testsuite/gas/riscv/b-ext.d b/gas/testsuite/gas/riscv/b-ext.d
index 7410796a3b7..748c218fdd0 100644
--- a/gas/testsuite/gas/riscv/b-ext.d
+++ b/gas/testsuite/gas/riscv/b-ext.d
@@ -1,4 +1,4 @@
-#as: -march=rv32i_zba_zbb_zbc
+#as: -march=rv32i_zba_zbb_zbc_zbs
 #source: b-ext.s
 #objdump: -d
 
@@ -33,3 +33,15 @@ Disassembly of section .text:
 [ 	]+58:[ 	]+0ac59533[ 	]+clmul[ 	]+a0,a1,a2
 [ 	]+5c:[ 	]+0ac5b533[ 	]+clmulh[ 	]+a0,a1,a2
 [ 	]+60:[ 	]+0ac5a533[ 	]+clmulr[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+48059513[ 	]+bclri[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+49f59513[ 	]+bclri[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+28059513[ 	]+bseti[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+29f59513[ 	]+bseti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+68059513[ 	]+binvi[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+69f59513[ 	]+binvi[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+4805d513[ 	]+bexti[ 	]+a0,a1,0x0
+[ 	]+[0-9a-f]+:[ 	]+49f5d513[ 	]+bexti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+48c59533[ 	]+bclr[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+28c59533[ 	]+bset[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+68c59533[ 	]+binv[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+48c5d533[ 	]+bext[ 	]+a0,a1,a2
diff --git a/gas/testsuite/gas/riscv/b-ext.s b/gas/testsuite/gas/riscv/b-ext.s
index 051dafd1719..a13a797f0dc 100644
--- a/gas/testsuite/gas/riscv/b-ext.s
+++ b/gas/testsuite/gas/riscv/b-ext.s
@@ -24,3 +24,15 @@ target:
 	clmul	a0, a1, a2
 	clmulh	a0, a1, a2
 	clmulr	a0, a1, a2
+	bclri   a0, a1, 0
+	bclri   a0, a1, 31
+	bseti   a0, a1, 0
+	bseti   a0, a1, 31
+	binvi   a0, a1, 0
+	binvi   a0, a1, 31
+	bexti   a0, a1, 0
+	bexti   a0, a1, 31
+	bclr    a0, a1, a2
+	bset    a0, a1, a2
+	binv    a0, a1, a2
+	bext    a0, a1, a2
diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
index 9999da6241a..45a207da0cd 100644
--- a/include/opcode/riscv-opc.h
+++ b/include/opcode/riscv-opc.h
@@ -495,6 +495,22 @@
 #define MASK_CLMULH  0xfe00707f
 #define MATCH_CLMULR 0xa002033
 #define MASK_CLMULR  0xfe00707f
+#define MATCH_BCLRI 0x48001013
+#define MASK_BCLRI  0xfc00707f
+#define MATCH_BSETI 0x28001013
+#define MASK_BSETI  0xfc00707f
+#define MATCH_BINVI 0x68001013
+#define MASK_BINVI  0xfc00707f
+#define MATCH_BEXTI 0x48005013
+#define MASK_BEXTI  0xfc00707f
+#define MATCH_BCLR  0x48001033
+#define MASK_BCLR   0xfe00707f
+#define MATCH_BSET  0x28001033
+#define MASK_BSET   0xfe00707f
+#define MATCH_BINV  0x68001033
+#define MASK_BINV   0xfe00707f
+#define MATCH_BEXT  0x48005033
+#define MASK_BEXT   0xfe00707f
 #define MATCH_FLW 0x2007
 #define MASK_FLW  0x707f
 #define MATCH_FLD 0x3007
@@ -1102,6 +1118,14 @@ DECLARE_INSN(slli_uw, MATCH_SLLI_UW, MASK_SLLI_UW)
 DECLARE_INSN(clmul, MATCH_CLMUL, MASK_CLMUL)
 DECLARE_INSN(clmulh, MATCH_CLMULH, MASK_CLMULH)
 DECLARE_INSN(clmulr, MATCH_CLMULR, MASK_CLMULR)
+DECLARE_INSN(bclri, MATCH_BCLRI, MASK_BCLRI)
+DECLARE_INSN(bseti, MATCH_BSETI, MASK_BSETI)
+DECLARE_INSN(binvi, MATCH_BINVI, MASK_BINVI)
+DECLARE_INSN(bexti, MATCH_BEXTI, MASK_BEXTI)
+DECLARE_INSN(bclr, MATCH_BCLR, MASK_BCLR)
+DECLARE_INSN(bset, MATCH_BSET, MASK_BSET)
+DECLARE_INSN(binv, MATCH_BINV, MASK_BINV)
+DECLARE_INSN(bext, MATCH_BEXT, MASK_BEXT)
 DECLARE_INSN(flw, MATCH_FLW, MASK_FLW)
 DECLARE_INSN(fld, MATCH_FLD, MASK_FLD)
 DECLARE_INSN(flq, MATCH_FLQ, MASK_FLQ)
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index a8f47419f75..afcd41ff1dd 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -319,6 +319,7 @@ enum riscv_insn_class
   INSN_CLASS_ZBA,
   INSN_CLASS_ZBB,
   INSN_CLASS_ZBC,
+  INSN_CLASS_ZBS,
 };
 
 /* This structure holds information for a particular instruction.  */
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index e0621503b79..1a4c9f0e4fe 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -833,6 +833,15 @@ const struct riscv_opcode riscv_opcodes[] =
 {"clmulh",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULH, MASK_CLMULH, match_opcode, 0 },
 {"clmulr",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULR, MASK_CLMULR, match_opcode, 0 },
 
+/* Zbs instructions */
+{"bclri",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BCLRI, MASK_BCLRI, match_opcode, 0 },
+{"bseti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BSETI, MASK_BSETI, match_opcode, 0 },
+{"binvi",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, 0 },
+{"bexti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, 0 },
+{"bclr",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BCLR, MASK_BCLR, match_opcode, 0 },
+{"bset",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BSET, MASK_BSET, match_opcode, 0 },
+{"binv",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BINV, MASK_BINV, match_opcode, 0 },
+{"bext",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BEXT, MASK_BEXT, match_opcode, 0 },
 
 /* Terminate the list.  */
 {0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
-- 
2.25.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-06 20:26 [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Philipp Tomsich
  2021-10-06 20:26 ` [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0 Philipp Tomsich
  2021-10-06 20:26 ` [PATCH v3 3/4] RISC-V: Add support for Zbs instructions Philipp Tomsich
@ 2021-10-06 20:26 ` Philipp Tomsich
  2021-10-07  4:05   ` Nelson Chu
  2021-10-07  6:58   ` Jan Beulich
  2021-10-07  4:01 ` [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Nelson Chu
  3 siblings, 2 replies; 17+ messages in thread
From: Philipp Tomsich @ 2021-10-06 20:26 UTC (permalink / raw)
  To: binutils; +Cc: Kito Cheng, Jim Wilson, Jan Beulich, Philipp Tomsich

Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
yencode the respective immediate insn b{set,clr,inv,ext}i when the
second source operand is an immediate.

2021-01-11  Philipp Tomsich  <philipp.tomsich@vrull.eu>

    gas/
	* testsuite/gas/riscv/b-ext.d: Add tests.
	* testsuite/gas/riscv/b-ext.s: Likewise.
	* testsuite/gas/riscv/b-ext-64.d: Likewise.
	* testsuite/gas/riscv/b-ext-64.s: Likewise.
    opcodes/
        * riscv-opc.c (riscv_opcodes): Add aliases for Zbs.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>

---

(no changes since v2)

Changes in v2:
- Add aliases for the b{set,clr,inv,ext} when called with an immediate
  as a second source operand.

 gas/testsuite/gas/riscv/b-ext-64.d | 8 ++++++++
 gas/testsuite/gas/riscv/b-ext-64.s | 9 +++++++++
 gas/testsuite/gas/riscv/b-ext.d    | 4 ++++
 gas/testsuite/gas/riscv/b-ext.s    | 5 +++++
 opcodes/riscv-opc.c                | 4 ++++
 5 files changed, 30 insertions(+)

diff --git a/gas/testsuite/gas/riscv/b-ext-64.d b/gas/testsuite/gas/riscv/b-ext-64.d
index 339fa20a367..9b6e6b7ab2a 100644
--- a/gas/testsuite/gas/riscv/b-ext-64.d
+++ b/gas/testsuite/gas/riscv/b-ext-64.d
@@ -62,3 +62,11 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+28c59533[ 	]+bset[ 	]+a0,a1,a2
 [ 	]+[0-9a-f]+:[ 	]+68c59533[ 	]+binv[ 	]+a0,a1,a2
 [ 	]+[0-9a-f]+:[ 	]+48c5d533[ 	]+bext[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+49f59513[ 	]+bclri[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+29f59513[ 	]+bseti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+69f59513[ 	]+binvi[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+49f5d513[ 	]+bexti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+4bf59513[ 	]+bclri[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+2bf59513[ 	]+bseti[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+6bf59513[ 	]+binvi[ 	]+a0,a1,0x3f
+[ 	]+[0-9a-f]+:[ 	]+4bf5d513[ 	]+bexti[ 	]+a0,a1,0x3f
diff --git a/gas/testsuite/gas/riscv/b-ext-64.s b/gas/testsuite/gas/riscv/b-ext-64.s
index 8ceb2b4fd1c..57e501e9a41 100644
--- a/gas/testsuite/gas/riscv/b-ext-64.s
+++ b/gas/testsuite/gas/riscv/b-ext-64.s
@@ -53,3 +53,12 @@ target:
 	bset    a0, a1, a2
 	binv    a0, a1, a2
 	bext    a0, a1, a2
+	#aliases
+	bclr    a0, a1, 31
+	bset    a0, a1, 31
+	binv    a0, a1, 31
+	bext    a0, a1, 31
+	bclr    a0, a1, 63
+	bset    a0, a1, 63
+	binv    a0, a1, 63
+	bext    a0, a1, 63
diff --git a/gas/testsuite/gas/riscv/b-ext.d b/gas/testsuite/gas/riscv/b-ext.d
index 748c218fdd0..c1c5f918a84 100644
--- a/gas/testsuite/gas/riscv/b-ext.d
+++ b/gas/testsuite/gas/riscv/b-ext.d
@@ -45,3 +45,7 @@ Disassembly of section .text:
 [ 	]+[0-9a-f]+:[ 	]+28c59533[ 	]+bset[ 	]+a0,a1,a2
 [ 	]+[0-9a-f]+:[ 	]+68c59533[ 	]+binv[ 	]+a0,a1,a2
 [ 	]+[0-9a-f]+:[ 	]+48c5d533[ 	]+bext[ 	]+a0,a1,a2
+[ 	]+[0-9a-f]+:[ 	]+49f59513[ 	]+bclri[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+29f59513[ 	]+bseti[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+69f59513[ 	]+binvi[ 	]+a0,a1,0x1f
+[ 	]+[0-9a-f]+:[ 	]+49f5d513[ 	]+bexti[ 	]+a0,a1,0x1f
diff --git a/gas/testsuite/gas/riscv/b-ext.s b/gas/testsuite/gas/riscv/b-ext.s
index a13a797f0dc..9de3fc32806 100644
--- a/gas/testsuite/gas/riscv/b-ext.s
+++ b/gas/testsuite/gas/riscv/b-ext.s
@@ -36,3 +36,8 @@ target:
 	bset    a0, a1, a2
 	binv    a0, a1, a2
 	bext    a0, a1, a2
+	#aliases
+	bclr    a0, a1, 31
+	bset    a0, a1, 31
+	binv    a0, a1, 31
+	bext    a0, a1, 31
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index 1a4c9f0e4fe..b756bae64ab 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -839,9 +839,13 @@ const struct riscv_opcode riscv_opcodes[] =
 {"binvi",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, 0 },
 {"bexti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, 0 },
 {"bclr",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BCLR, MASK_BCLR, match_opcode, 0 },
+{"bclr",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BCLRI, MASK_BCLRI, match_opcode, INSN_ALIAS },
 {"bset",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BSET, MASK_BSET, match_opcode, 0 },
+{"bset",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BSETI, MASK_BSETI, match_opcode, INSN_ALIAS },
 {"binv",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BINV, MASK_BINV, match_opcode, 0 },
+{"binv",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, INSN_ALIAS },
 {"bext",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BEXT, MASK_BEXT, match_opcode, 0 },
+{"bext",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, INSN_ALIAS },
 
 /* Terminate the list.  */
 {0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
-- 
2.25.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections
  2021-10-06 20:26 [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Philipp Tomsich
                   ` (2 preceding siblings ...)
  2021-10-06 20:26 ` [PATCH v3 4/4] RISC-V: Support aliases " Philipp Tomsich
@ 2021-10-07  4:01 ` Nelson Chu
  3 siblings, 0 replies; 17+ messages in thread
From: Nelson Chu @ 2021-10-07  4:01 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Binutils, Kito Cheng

LGTM, thanks.

Nelson

On Thu, Oct 7, 2021 at 4:27 AM Philipp Tomsich <philipp.tomsich@vrull.eu> wrote:
>
> The Zb[abc] opcodes are bundled just below the Privileged opcodes in
> riscv_opcodes, possibly giving the appearance that they are part of
> the Privileged spec for an uninitiated reader.  This separates them
> out and adds comments above each section to clearly identify them as
> Zba, Zbb or Zbc opcodes.
>
> 2021-10-04  Philipp Tomsich  <philipp.tomsich@vrull.eu>
>
>     opcodes/
>         * riscv-opc.c: Split of Zb[abc] instructions and add comments.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
>
> ---
>
> Changes in v3:
> - Added patch to regroup/add comments for instructions in riscv-opc.c
>
>  opcodes/riscv-opc.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
> index f55a01b071c..e0621503b79 100644
> --- a/opcodes/riscv-opc.c
> +++ b/opcodes/riscv-opc.c
> @@ -782,6 +782,8 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"sfence.vma", 0, INSN_CLASS_I,    "s",        MATCH_SFENCE_VMA, MASK_SFENCE_VMA|MASK_RS2, match_opcode, INSN_ALIAS },
>  {"sfence.vma", 0, INSN_CLASS_I,    "s,t",      MATCH_SFENCE_VMA, MASK_SFENCE_VMA, match_opcode, 0 },
>  {"wfi",        0, INSN_CLASS_I,    "",         MATCH_WFI, MASK_WFI, match_opcode, 0 },
> +
> +/* Zbb instructions */
>  {"clz",        0, INSN_CLASS_ZBB,  "d,s",   MATCH_CLZ, MASK_CLZ, match_opcode, 0 },
>  {"ctz",        0, INSN_CLASS_ZBB,  "d,s",   MATCH_CTZ, MASK_CTZ, match_opcode, 0 },
>  {"cpop",       0, INSN_CLASS_ZBB,  "d,s",   MATCH_CPOP, MASK_CPOP, match_opcode, 0 },
> @@ -813,6 +815,8 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"roriw",     64, INSN_CLASS_ZBB,  "d,s,<", MATCH_RORIW, MASK_RORIW, match_opcode, 0 },
>  {"rorw",      64, INSN_CLASS_ZBB,  "d,s,t", MATCH_RORW, MASK_RORW, match_opcode, 0 },
>  {"rorw",      64, INSN_CLASS_ZBB,  "d,s,<", MATCH_RORIW, MASK_RORIW, match_opcode, 0 },
> +
> +/* Zba instructions */
>  {"sh1add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH1ADD, MASK_SH1ADD, match_opcode, 0 },
>  {"sh2add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH2ADD, MASK_SH2ADD, match_opcode, 0 },
>  {"sh3add",     0, INSN_CLASS_ZBA,  "d,s,t", MATCH_SH3ADD, MASK_SH3ADD, match_opcode, 0 },
> @@ -823,6 +827,8 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"zext.w",    64, INSN_CLASS_I, "d,s",       0, (int) M_ZEXTW, match_never, INSN_MACRO },
>  {"add.uw",    64, INSN_CLASS_ZBA,  "d,s,t", MATCH_ADD_UW, MASK_ADD_UW, match_opcode, 0 },
>  {"slli.uw",   64, INSN_CLASS_ZBA,  "d,s,>", MATCH_SLLI_UW, MASK_SLLI_UW, match_opcode, 0 },
> +
> +/* Zbc instructions */
>  {"clmul",      0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMUL, MASK_CLMUL, match_opcode, 0 },
>  {"clmulh",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULH, MASK_CLMULH, match_opcode, 0 },
>  {"clmulr",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULR, MASK_CLMULR, match_opcode, 0 },
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0
  2021-10-06 20:26 ` [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0 Philipp Tomsich
@ 2021-10-07  4:02   ` Nelson Chu
  0 siblings, 0 replies; 17+ messages in thread
From: Nelson Chu @ 2021-10-07  4:02 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Binutils, Kito Cheng

LGTM, thanks.

Nelson

On Thu, Oct 7, 2021 at 4:27 AM Philipp Tomsich <philipp.tomsich@vrull.eu> wrote:
>
> 2021-10-06  Philipp Tomsich  <philipp.tomsich@vrull.eu>
>
>     bfd/
>         * elfxx-riscv.c (riscv_supported_std_z_ext): Update the version
>         number for zba, zbb and zbc to 1.0.0
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
>
> Version-changes: 3
> - Updated version numbers for zba, zbb and zbc to 1.0.0
>
> ---
>
> (no changes since v1)
>
>  bfd/elfxx-riscv.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> index 044cc63d09e..39a7d693469 100644
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -1142,9 +1142,9 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
>    {"zifencei",         ISA_SPEC_CLASS_20191213,        2, 0,  0 },
>    {"zifencei",         ISA_SPEC_CLASS_20190608,        2, 0,  0 },
>    {"zihintpause",      ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
> -  {"zbb",              ISA_SPEC_CLASS_DRAFT,           0, 93, 0 },
> -  {"zba",              ISA_SPEC_CLASS_DRAFT,           0, 93, 0 },
> -  {"zbc",              ISA_SPEC_CLASS_DRAFT,           0, 93, 0 },
> +  {"zbb",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
> +  {"zba",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
> +  {"zbc",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
>    {NULL, 0, 0, 0, 0}
>  };
>
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 3/4] RISC-V: Add support for Zbs instructions
  2021-10-06 20:26 ` [PATCH v3 3/4] RISC-V: Add support for Zbs instructions Philipp Tomsich
@ 2021-10-07  4:02   ` Nelson Chu
  2021-10-07  6:57   ` Jan Beulich
  1 sibling, 0 replies; 17+ messages in thread
From: Nelson Chu @ 2021-10-07  4:02 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Binutils, Kito Cheng

LGTM, thanks.

Nelson

On Thu, Oct 7, 2021 at 4:28 AM Philipp Tomsich <philipp.tomsich@vrull.eu> wrote:
>
> This change adds the Zbs instructions from the Zbs 1.0.0 specification.
> See
>   https://github.com/riscv/riscv-bitmanip/releases/tag/1.0.0
> for the frozen specification.
>
> 2021-01-09  Philipp Tomsich  <philipp.tomsich@vrull.eu>
>
>     bfd/
>         * elfxx-riscv.c (riscv_supported_std_z_ext): Added zbs.
>     gas/
>         * config/tc-riscv.c (riscv_multi_subset_supports): Handle INSN_CLASS_ZBS.
>         * testsuite/gas/riscv/b-ext.d: Test Zbs instructions.
>         * testsuite/gas/riscv/b-ext.s: Likewise.
>         * testsuite/gas/riscv/b-ext-64.d: Likewise.
>         * testsuite/gas/riscv/b-ext-64.s: Likewise.
>     include/
>         * opcode/riscv-opc.h: Added MASK/MATCH/DECLARE_INSN for Zbs.
>         * opcode/riscv.h (riscv_insn_class): Added INSN_CLASS_ZBS.
>     opcodes/
>         * riscv-opc.c (riscv_supported_std_z_ext): Add zbs.
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
>
> ---
>
> Changes in v3:
> - Updated to 1.0.0 specification and rebased to master
>
>  bfd/elfxx-riscv.c                  |  1 +
>  gas/config/tc-riscv.c              |  3 +++
>  gas/testsuite/gas/riscv/b-ext-64.d | 18 +++++++++++++++++-
>  gas/testsuite/gas/riscv/b-ext-64.s | 16 ++++++++++++++++
>  gas/testsuite/gas/riscv/b-ext.d    | 14 +++++++++++++-
>  gas/testsuite/gas/riscv/b-ext.s    | 12 ++++++++++++
>  include/opcode/riscv-opc.h         | 24 ++++++++++++++++++++++++
>  include/opcode/riscv.h             |  1 +
>  opcodes/riscv-opc.c                |  9 +++++++++
>  9 files changed, 96 insertions(+), 2 deletions(-)
>
> diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
> index 39a7d693469..cdb4fa0996a 100644
> --- a/bfd/elfxx-riscv.c
> +++ b/bfd/elfxx-riscv.c
> @@ -1145,6 +1145,7 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
>    {"zbb",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
>    {"zba",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
>    {"zbc",              ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
> +  {"zbs",               ISA_SPEC_CLASS_DRAFT,           1, 0,  0 },
>    {NULL, 0, 0, 0, 0}
>  };
>
> diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
> index e7b733a4e6d..f7e0c929aa0 100644
> --- a/gas/config/tc-riscv.c
> +++ b/gas/config/tc-riscv.c
> @@ -283,6 +283,9 @@ riscv_multi_subset_supports (enum riscv_insn_class insn_class)
>      case INSN_CLASS_ZBC:
>        return riscv_subset_supports ("zbc");
>
> +    case INSN_CLASS_ZBS:
> +      return riscv_subset_supports ("zbs");
> +
>      default:
>        as_fatal ("internal: unreachable");
>        return false;
> diff --git a/gas/testsuite/gas/riscv/b-ext-64.d b/gas/testsuite/gas/riscv/b-ext-64.d
> index f4a7abf02d7..339fa20a367 100644
> --- a/gas/testsuite/gas/riscv/b-ext-64.d
> +++ b/gas/testsuite/gas/riscv/b-ext-64.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv64i_zba_zbb_zbc
> +#as: -march=rv64i_zba_zbb_zbc_zbs
>  #source: b-ext-64.s
>  #objdump: -d
>
> @@ -46,3 +46,19 @@ Disassembly of section .text:
>  [      ]+8c:[  ]+08c5853b[     ]+add.uw[       ]+a0,a1,a2
>  [      ]+90:[  ]+0805853b[     ]+zext.w[       ]+a0,a1
>  [      ]+94:[  ]+0825951b[     ]+slli.uw[      ]+a0,a1,0x2
> +[      ]+[0-9a-f]+:[   ]+48059513[     ]+bclri[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+49f59513[     ]+bclri[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+28059513[     ]+bseti[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+29f59513[     ]+bseti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+68059513[     ]+binvi[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+69f59513[     ]+binvi[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+4805d513[     ]+bexti[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+49f5d513[     ]+bexti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+4bf59513[     ]+bclri[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+2bf59513[     ]+bseti[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+6bf59513[     ]+binvi[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+4bf5d513[     ]+bexti[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+48c59533[     ]+bclr[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+28c59533[     ]+bset[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+68c59533[     ]+binv[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+48c5d533[     ]+bext[         ]+a0,a1,a2
> diff --git a/gas/testsuite/gas/riscv/b-ext-64.s b/gas/testsuite/gas/riscv/b-ext-64.s
> index c3ac377f4bd..8ceb2b4fd1c 100644
> --- a/gas/testsuite/gas/riscv/b-ext-64.s
> +++ b/gas/testsuite/gas/riscv/b-ext-64.s
> @@ -37,3 +37,19 @@ target:
>         add.uw  a0, a1, a2
>         zext.w  a0, a1
>         slli.uw a0, a1, 2
> +       bclri   a0, a1, 0
> +       bclri   a0, a1, 31
> +       bseti   a0, a1, 0
> +       bseti   a0, a1, 31
> +       binvi   a0, a1, 0
> +       binvi   a0, a1, 31
> +       bexti   a0, a1, 0
> +       bexti   a0, a1, 31
> +       bclri   a0, a1, 63
> +       bseti   a0, a1, 63
> +       binvi   a0, a1, 63
> +       bexti   a0, a1, 63
> +       bclr    a0, a1, a2
> +       bset    a0, a1, a2
> +       binv    a0, a1, a2
> +       bext    a0, a1, a2
> diff --git a/gas/testsuite/gas/riscv/b-ext.d b/gas/testsuite/gas/riscv/b-ext.d
> index 7410796a3b7..748c218fdd0 100644
> --- a/gas/testsuite/gas/riscv/b-ext.d
> +++ b/gas/testsuite/gas/riscv/b-ext.d
> @@ -1,4 +1,4 @@
> -#as: -march=rv32i_zba_zbb_zbc
> +#as: -march=rv32i_zba_zbb_zbc_zbs
>  #source: b-ext.s
>  #objdump: -d
>
> @@ -33,3 +33,15 @@ Disassembly of section .text:
>  [      ]+58:[  ]+0ac59533[     ]+clmul[        ]+a0,a1,a2
>  [      ]+5c:[  ]+0ac5b533[     ]+clmulh[       ]+a0,a1,a2
>  [      ]+60:[  ]+0ac5a533[     ]+clmulr[       ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+48059513[     ]+bclri[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+49f59513[     ]+bclri[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+28059513[     ]+bseti[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+29f59513[     ]+bseti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+68059513[     ]+binvi[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+69f59513[     ]+binvi[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+4805d513[     ]+bexti[        ]+a0,a1,0x0
> +[      ]+[0-9a-f]+:[   ]+49f5d513[     ]+bexti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+48c59533[     ]+bclr[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+28c59533[     ]+bset[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+68c59533[     ]+binv[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+48c5d533[     ]+bext[         ]+a0,a1,a2
> diff --git a/gas/testsuite/gas/riscv/b-ext.s b/gas/testsuite/gas/riscv/b-ext.s
> index 051dafd1719..a13a797f0dc 100644
> --- a/gas/testsuite/gas/riscv/b-ext.s
> +++ b/gas/testsuite/gas/riscv/b-ext.s
> @@ -24,3 +24,15 @@ target:
>         clmul   a0, a1, a2
>         clmulh  a0, a1, a2
>         clmulr  a0, a1, a2
> +       bclri   a0, a1, 0
> +       bclri   a0, a1, 31
> +       bseti   a0, a1, 0
> +       bseti   a0, a1, 31
> +       binvi   a0, a1, 0
> +       binvi   a0, a1, 31
> +       bexti   a0, a1, 0
> +       bexti   a0, a1, 31
> +       bclr    a0, a1, a2
> +       bset    a0, a1, a2
> +       binv    a0, a1, a2
> +       bext    a0, a1, a2
> diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
> index 9999da6241a..45a207da0cd 100644
> --- a/include/opcode/riscv-opc.h
> +++ b/include/opcode/riscv-opc.h
> @@ -495,6 +495,22 @@
>  #define MASK_CLMULH  0xfe00707f
>  #define MATCH_CLMULR 0xa002033
>  #define MASK_CLMULR  0xfe00707f
> +#define MATCH_BCLRI 0x48001013
> +#define MASK_BCLRI  0xfc00707f
> +#define MATCH_BSETI 0x28001013
> +#define MASK_BSETI  0xfc00707f
> +#define MATCH_BINVI 0x68001013
> +#define MASK_BINVI  0xfc00707f
> +#define MATCH_BEXTI 0x48005013
> +#define MASK_BEXTI  0xfc00707f
> +#define MATCH_BCLR  0x48001033
> +#define MASK_BCLR   0xfe00707f
> +#define MATCH_BSET  0x28001033
> +#define MASK_BSET   0xfe00707f
> +#define MATCH_BINV  0x68001033
> +#define MASK_BINV   0xfe00707f
> +#define MATCH_BEXT  0x48005033
> +#define MASK_BEXT   0xfe00707f
>  #define MATCH_FLW 0x2007
>  #define MASK_FLW  0x707f
>  #define MATCH_FLD 0x3007
> @@ -1102,6 +1118,14 @@ DECLARE_INSN(slli_uw, MATCH_SLLI_UW, MASK_SLLI_UW)
>  DECLARE_INSN(clmul, MATCH_CLMUL, MASK_CLMUL)
>  DECLARE_INSN(clmulh, MATCH_CLMULH, MASK_CLMULH)
>  DECLARE_INSN(clmulr, MATCH_CLMULR, MASK_CLMULR)
> +DECLARE_INSN(bclri, MATCH_BCLRI, MASK_BCLRI)
> +DECLARE_INSN(bseti, MATCH_BSETI, MASK_BSETI)
> +DECLARE_INSN(binvi, MATCH_BINVI, MASK_BINVI)
> +DECLARE_INSN(bexti, MATCH_BEXTI, MASK_BEXTI)
> +DECLARE_INSN(bclr, MATCH_BCLR, MASK_BCLR)
> +DECLARE_INSN(bset, MATCH_BSET, MASK_BSET)
> +DECLARE_INSN(binv, MATCH_BINV, MASK_BINV)
> +DECLARE_INSN(bext, MATCH_BEXT, MASK_BEXT)
>  DECLARE_INSN(flw, MATCH_FLW, MASK_FLW)
>  DECLARE_INSN(fld, MATCH_FLD, MASK_FLD)
>  DECLARE_INSN(flq, MATCH_FLQ, MASK_FLQ)
> diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
> index a8f47419f75..afcd41ff1dd 100644
> --- a/include/opcode/riscv.h
> +++ b/include/opcode/riscv.h
> @@ -319,6 +319,7 @@ enum riscv_insn_class
>    INSN_CLASS_ZBA,
>    INSN_CLASS_ZBB,
>    INSN_CLASS_ZBC,
> +  INSN_CLASS_ZBS,
>  };
>
>  /* This structure holds information for a particular instruction.  */
> diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
> index e0621503b79..1a4c9f0e4fe 100644
> --- a/opcodes/riscv-opc.c
> +++ b/opcodes/riscv-opc.c
> @@ -833,6 +833,15 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"clmulh",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULH, MASK_CLMULH, match_opcode, 0 },
>  {"clmulr",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULR, MASK_CLMULR, match_opcode, 0 },
>
> +/* Zbs instructions */
> +{"bclri",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BCLRI, MASK_BCLRI, match_opcode, 0 },
> +{"bseti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BSETI, MASK_BSETI, match_opcode, 0 },
> +{"binvi",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, 0 },
> +{"bexti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, 0 },
> +{"bclr",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BCLR, MASK_BCLR, match_opcode, 0 },
> +{"bset",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BSET, MASK_BSET, match_opcode, 0 },
> +{"binv",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BINV, MASK_BINV, match_opcode, 0 },
> +{"bext",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BEXT, MASK_BEXT, match_opcode, 0 },
>
>  /* Terminate the list.  */
>  {0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-06 20:26 ` [PATCH v3 4/4] RISC-V: Support aliases " Philipp Tomsich
@ 2021-10-07  4:05   ` Nelson Chu
  2021-10-07  6:58   ` Jan Beulich
  1 sibling, 0 replies; 17+ messages in thread
From: Nelson Chu @ 2021-10-07  4:05 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Binutils, Kito Cheng

LGTM.  Do you have binutils write access?  If so, then please commit
the four rvb patches when you think it is time.  Or let me know if you
don't have, I can commit the patches.  Anyway, Thanks for helping the
rvb stuff, we do need these.

Nelson

On Thu, Oct 7, 2021 at 4:28 AM Philipp Tomsich <philipp.tomsich@vrull.eu> wrote:
>
> Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
> yencode the respective immediate insn b{set,clr,inv,ext}i when the
> second source operand is an immediate.
>
> 2021-01-11  Philipp Tomsich  <philipp.tomsich@vrull.eu>
>
>     gas/
>         * testsuite/gas/riscv/b-ext.d: Add tests.
>         * testsuite/gas/riscv/b-ext.s: Likewise.
>         * testsuite/gas/riscv/b-ext-64.d: Likewise.
>         * testsuite/gas/riscv/b-ext-64.s: Likewise.
>     opcodes/
>         * riscv-opc.c (riscv_opcodes): Add aliases for Zbs.
>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
>
> ---
>
> (no changes since v2)
>
> Changes in v2:
> - Add aliases for the b{set,clr,inv,ext} when called with an immediate
>   as a second source operand.
>
>  gas/testsuite/gas/riscv/b-ext-64.d | 8 ++++++++
>  gas/testsuite/gas/riscv/b-ext-64.s | 9 +++++++++
>  gas/testsuite/gas/riscv/b-ext.d    | 4 ++++
>  gas/testsuite/gas/riscv/b-ext.s    | 5 +++++
>  opcodes/riscv-opc.c                | 4 ++++
>  5 files changed, 30 insertions(+)
>
> diff --git a/gas/testsuite/gas/riscv/b-ext-64.d b/gas/testsuite/gas/riscv/b-ext-64.d
> index 339fa20a367..9b6e6b7ab2a 100644
> --- a/gas/testsuite/gas/riscv/b-ext-64.d
> +++ b/gas/testsuite/gas/riscv/b-ext-64.d
> @@ -62,3 +62,11 @@ Disassembly of section .text:
>  [      ]+[0-9a-f]+:[   ]+28c59533[     ]+bset[         ]+a0,a1,a2
>  [      ]+[0-9a-f]+:[   ]+68c59533[     ]+binv[         ]+a0,a1,a2
>  [      ]+[0-9a-f]+:[   ]+48c5d533[     ]+bext[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+49f59513[     ]+bclri[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+29f59513[     ]+bseti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+69f59513[     ]+binvi[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+49f5d513[     ]+bexti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+4bf59513[     ]+bclri[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+2bf59513[     ]+bseti[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+6bf59513[     ]+binvi[        ]+a0,a1,0x3f
> +[      ]+[0-9a-f]+:[   ]+4bf5d513[     ]+bexti[        ]+a0,a1,0x3f
> diff --git a/gas/testsuite/gas/riscv/b-ext-64.s b/gas/testsuite/gas/riscv/b-ext-64.s
> index 8ceb2b4fd1c..57e501e9a41 100644
> --- a/gas/testsuite/gas/riscv/b-ext-64.s
> +++ b/gas/testsuite/gas/riscv/b-ext-64.s
> @@ -53,3 +53,12 @@ target:
>         bset    a0, a1, a2
>         binv    a0, a1, a2
>         bext    a0, a1, a2
> +       #aliases
> +       bclr    a0, a1, 31
> +       bset    a0, a1, 31
> +       binv    a0, a1, 31
> +       bext    a0, a1, 31
> +       bclr    a0, a1, 63
> +       bset    a0, a1, 63
> +       binv    a0, a1, 63
> +       bext    a0, a1, 63
> diff --git a/gas/testsuite/gas/riscv/b-ext.d b/gas/testsuite/gas/riscv/b-ext.d
> index 748c218fdd0..c1c5f918a84 100644
> --- a/gas/testsuite/gas/riscv/b-ext.d
> +++ b/gas/testsuite/gas/riscv/b-ext.d
> @@ -45,3 +45,7 @@ Disassembly of section .text:
>  [      ]+[0-9a-f]+:[   ]+28c59533[     ]+bset[         ]+a0,a1,a2
>  [      ]+[0-9a-f]+:[   ]+68c59533[     ]+binv[         ]+a0,a1,a2
>  [      ]+[0-9a-f]+:[   ]+48c5d533[     ]+bext[         ]+a0,a1,a2
> +[      ]+[0-9a-f]+:[   ]+49f59513[     ]+bclri[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+29f59513[     ]+bseti[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+69f59513[     ]+binvi[        ]+a0,a1,0x1f
> +[      ]+[0-9a-f]+:[   ]+49f5d513[     ]+bexti[        ]+a0,a1,0x1f
> diff --git a/gas/testsuite/gas/riscv/b-ext.s b/gas/testsuite/gas/riscv/b-ext.s
> index a13a797f0dc..9de3fc32806 100644
> --- a/gas/testsuite/gas/riscv/b-ext.s
> +++ b/gas/testsuite/gas/riscv/b-ext.s
> @@ -36,3 +36,8 @@ target:
>         bset    a0, a1, a2
>         binv    a0, a1, a2
>         bext    a0, a1, a2
> +       #aliases
> +       bclr    a0, a1, 31
> +       bset    a0, a1, 31
> +       binv    a0, a1, 31
> +       bext    a0, a1, 31
> diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
> index 1a4c9f0e4fe..b756bae64ab 100644
> --- a/opcodes/riscv-opc.c
> +++ b/opcodes/riscv-opc.c
> @@ -839,9 +839,13 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"binvi",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, 0 },
>  {"bexti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, 0 },
>  {"bclr",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BCLR, MASK_BCLR, match_opcode, 0 },
> +{"bclr",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BCLRI, MASK_BCLRI, match_opcode, INSN_ALIAS },
>  {"bset",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BSET, MASK_BSET, match_opcode, 0 },
> +{"bset",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BSETI, MASK_BSETI, match_opcode, INSN_ALIAS },
>  {"binv",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BINV, MASK_BINV, match_opcode, 0 },
> +{"binv",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, INSN_ALIAS },
>  {"bext",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BEXT, MASK_BEXT, match_opcode, 0 },
> +{"bext",      0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, INSN_ALIAS },
>
>  /* Terminate the list.  */
>  {0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 3/4] RISC-V: Add support for Zbs instructions
  2021-10-06 20:26 ` [PATCH v3 3/4] RISC-V: Add support for Zbs instructions Philipp Tomsich
  2021-10-07  4:02   ` Nelson Chu
@ 2021-10-07  6:57   ` Jan Beulich
  2021-10-07 11:51     ` Delivery delayed:Re: " postmaster
  1 sibling, 1 reply; 17+ messages in thread
From: Jan Beulich @ 2021-10-07  6:57 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Kito Cheng, Jim Wilson, binutils

On 06.10.2021 22:26, Philipp Tomsich wrote:
> --- a/opcodes/riscv-opc.c
> +++ b/opcodes/riscv-opc.c
> @@ -833,6 +833,15 @@ const struct riscv_opcode riscv_opcodes[] =
>  {"clmulh",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULH, MASK_CLMULH, match_opcode, 0 },
>  {"clmulr",     0, INSN_CLASS_ZBC,  "d,s,t", MATCH_CLMULR, MASK_CLMULR, match_opcode, 0 },
>  
> +/* Zbs instructions */
> +{"bclri",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BCLRI, MASK_BCLRI, match_opcode, 0 },
> +{"bseti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BSETI, MASK_BSETI, match_opcode, 0 },
> +{"binvi",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BINVI, MASK_BINVI, match_opcode, 0 },
> +{"bexti",     0, INSN_CLASS_ZBS,   "d,s,>",  MATCH_BEXTI, MASK_BEXTI, match_opcode, 0 },

To be consistent with other insns with immediate operands, shouldn't all
of these have aliases without the i suffix?

Jan

> +{"bclr",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BCLR, MASK_BCLR, match_opcode, 0 },
> +{"bset",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BSET, MASK_BSET, match_opcode, 0 },
> +{"binv",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BINV, MASK_BINV, match_opcode, 0 },
> +{"bext",      0, INSN_CLASS_ZBS,   "d,s,t",  MATCH_BEXT, MASK_BEXT, match_opcode, 0 },
>  
>  /* Terminate the list.  */
>  {0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
> 


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-06 20:26 ` [PATCH v3 4/4] RISC-V: Support aliases " Philipp Tomsich
  2021-10-07  4:05   ` Nelson Chu
@ 2021-10-07  6:58   ` Jan Beulich
  2021-10-07  9:13     ` Nelson Chu
  2021-10-07 11:06     ` Delivery delayed:Re: " postmaster
  1 sibling, 2 replies; 17+ messages in thread
From: Jan Beulich @ 2021-10-07  6:58 UTC (permalink / raw)
  To: Philipp Tomsich; +Cc: Kito Cheng, Jim Wilson, binutils

On 06.10.2021 22:26, Philipp Tomsich wrote:
> Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
> yencode the respective immediate insn b{set,clr,inv,ext}i when the
> second source operand is an immediate.

Oh, sorry - here the aliases get added. Should have looked at all the
titles first ...

Jan


^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-07  6:58   ` Jan Beulich
@ 2021-10-07  9:13     ` Nelson Chu
  2021-10-27 23:54       ` Vineet Gupta
  2021-10-07 11:06     ` Delivery delayed:Re: " postmaster
  1 sibling, 1 reply; 17+ messages in thread
From: Nelson Chu @ 2021-10-07  9:13 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Philipp Tomsich, Kito Cheng, Binutils

On Thu, Oct 7, 2021 at 2:59 PM Jan Beulich via Binutils
<binutils@sourceware.org> wrote:
>
> On 06.10.2021 22:26, Philipp Tomsich wrote:
> > Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
> > yencode the respective immediate insn b{set,clr,inv,ext}i when the
> > second source operand is an immediate.
>
> Oh, sorry - here the aliases get added. Should have looked at all the
> titles first ...

Hi Jan,

Thanks for confirming this.

Hi Philipp,

Thanks for helping with this, the series of patches looks good and we
do need these.  Committed.

Nelson

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Delivery delayed:Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-07  6:58   ` Jan Beulich
  2021-10-07  9:13     ` Nelson Chu
@ 2021-10-07 11:06     ` postmaster
  1 sibling, 0 replies; 17+ messages in thread
From: postmaster @ 2021-10-07 11:06 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 427 bytes --]

Delivery is delayed to these recipients or groups:

gary@partis.co.uk<mailto:gary@partis.co.uk>

Subject: Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions

This message hasn't been delivered yet. Delivery will continue to be attempted.

The server will keep trying to deliver this message for the next 19 days, 19 hours and 54 minutes. You'll be notified if the message can't be delivered by that time.

[-- Attachment #2: Type: message/delivery-status, Size: 300 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: Type: text/rfc822-headers, Size: 11896 bytes --]

Received: from exchange-pop3-connector.com (192.168.0.1) by
 server.partis.co.uk (192.168.0.1) with Microsoft SMTP Server id 14.1.438.0;
 Thu, 7 Oct 2021 08:00:44 +0100
Return-Path: <binutils-bounces+gary=partis.co.uk@sourceware.org>
Delivered-To: postmaster@partis.co.uk
Received: from localhost (unknown [127.0.0.1])	by ezhosts.net (Postfix) with
 ESMTP id 065A1B23B7	for <gary@partis.co.uk>; Thu,  7 Oct 2021 09:00:10 +0200
 (CEST)
X-Virus-Scanned: Debian amavisd-new at 
Authentication-Results: ezhosts.net (amavisd-new); dkim=pass (1024-bit key)
	header.d=sourceware.org
Received: from ezhosts.net ([127.0.0.1])	by localhost (ezhosts.net
 [127.0.0.1]) (amavisd-new, port 10024)	with ESMTP id AVaQ4slrn3xv for
 <gary@partis.co.uk>;	Thu,  7 Oct 2021 08:59:53 +0200 (CEST)
Received: from sourceware.org (unknown [8.43.85.97])	by ezhosts.net (Postfix)
 with ESMTPS id 4C7B4B2356	for <gary@partis.co.uk>; Thu,  7 Oct 2021 08:59:48
 +0200 (CEST)
Received: from server2.sourceware.org (localhost [IPv6:::1])	by sourceware.org
 (Postfix) with ESMTP id 54828385841D	for <gary@partis.co.uk>; Thu,  7 Oct
 2021 06:59:47 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 54828385841D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
	s=default; t=1633589987;
	bh=3BhEO5TIwMmQp7ymRzTUvceQtVIPW+Kjey2zUByeuXA=;
	h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=Tr/SaejIBK9dn+q0yE1vMNlGweMAaPnUdAAM7jPAx15Yt0I+ROWp+af/g2C+nLGlu
	 VbgBok9/K3Glmwf9rfOLOGW0s0QCRMGLvEggOOjavSNXaEN2lIMUUTFWBJwjhIVE3g
	 Hgu6L+VR0wGJZ69UpxBgYdWw889nozp+d0TzHktA=
X-Original-To: binutils@sourceware.org
Delivered-To: binutils@sourceware.org
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by sourceware.org
 (Postfix) with ESMTPS id AC1313858004 for <binutils@sourceware.org>; Thu,  7
 Oct 2021 06:58:55 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AC1313858004
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2058.outbound.protection.outlook.com [104.47.13.58]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-2-K-xMMXFBORKzWutj5ZH_yw-1;
 Thu, 07 Oct 2021 08:58:53 +0200
X-MC-Unique: K-xMMXFBORKzWutj5ZH_yw-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RSDIrKp01X6/zZ9+Gz1TtfVcuiizQE6Kw64ZlTS6QHPjhb+Pfin3VtD1ki1m9ido8Nz0SfYXFYfZLVAFC7aB0fGs+WR3jswNpoCkKt+/8TU9t+zYUSkDiH/05LnL8SOJxJLXlNNfUaGZmZsZ8yZkEkqeqLtGWvnqQ+5dE6EMDBwO7+iCsD/dqclVk7gEmqT0SLy1K4SP1Bwv5J11CS01xsVR6+rmUgbuEh67aFtuSEOcN0GlTD8L7LtbP1EV6cp5x1uyv9DUly7YUxW1VjNk0KuJHqNUuPRTieBfiKHRYwz/ak+O4aLLCz+MGSvWzLG+dXOb81sSpTXBJZP+ivutzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3BhEO5TIwMmQp7ymRzTUvceQtVIPW+Kjey2zUByeuXA=;
 b=lN4srxpa3K4wGRWIC8Lwd3KG/b+9X0DTFncQbH483Kf5dTAJ/9Dosn60P1k4XhRZU4UGtnk4xFp47zSj24gqJTip+vjASBC1hRuS4duqvORX02hZXsDOZ8fcX5C7wOWsEcIIZjXmHOtY/2fZFBLL/2oXhoQMrqLwrWXsOZrCRoMMAOdIp2Kq7T31Hi0xW/3FJ7e30TdRIyZmHE4kdR5T7VgQa+XFckSWlRf7qZHFjNtFpv/5GyHCG8zxDgMcH6wE3OU6/yrwlCGEfjJMLPc9cgW3OLE8QnboGqWOBWVq3imqPPwoKrlD+cCZIhYWawpo4iZXMQeQ2RMfPuQD1zCM1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB6173.eurprd04.prod.outlook.com (2603:10a6:803:ff::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Thu, 7 Oct
 2021 06:58:52 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4587.020; Thu, 7 Oct 2021
 06:58:52 +0000
Subject: Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
To: Philipp Tomsich <philipp.tomsich@vrull.eu>
References: <20211006202647.328777-1-philipp.tomsich@vrull.eu>
Message-ID: <3a4cb0ab-d8de-102a-941c-25dbe4f3a911@suse.com>
Date: Thu, 7 Oct 2021 08:58:55 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.14.0
In-Reply-To: <20211006202647.328777-4-philipp.tomsich@vrull.eu>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM5PR0701CA0052.eurprd07.prod.outlook.com
 (2603:10a6:203:2::14) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
Received: from [10.156.60.236] (37.24.206.209) by
 AM5PR0701CA0052.eurprd07.prod.outlook.com (2603:10a6:203:2::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.4 via Frontend
 Transport; Thu, 7 Oct 2021 06:58:51 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 27c1b678-864a-4470-1579-08d9895febb1
X-MS-TrafficTypeDiagnostic: VI1PR04MB6173:
X-Microsoft-Antispam-PRVS: <VI1PR04MB617316026C6F3A3296C76B63B3B19@VI1PR04MB6173.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:4714;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: CAXCYKl7JSUajZUUskc+POuOjBWwiFexVyUMMvsfrBq23znfY8MT95KOkx3xRMw52ovY5oeKMRjd8j3ZVD0RbF8K1zNtSqgzOd5n21KhYC1Dqc9qY8+ZNplBHyeDDUOFXtcsspULtIFNiNhVNWFzzcEXI//Yw0XuNDMRz/oUalycniNuuZJMHT7EkLlWoMYVTeYl4puX7Kz9g02l+z8sqqlnUYRr8uv9dzDLLqf/kkTMilixWq+H0S7/ZtozEQQR6RoxsU9SQSFjmNbRRISjOTrr4OicrUN0wsY7g1j0KSKPkCxhVBw1l56VXLzbyxlMR9COjS3lU7K/udrsWN/vJQYogrKXXW8cTpqKypYSYcnzJTUvsx5cbFCJB9HjsQXuKo4iZapsw0CIfoKVByTfdlrJS8PfQHpS7DFW7zV5oJIdN9Ds9GxG9JnmWGviKvPpf2sDR4vYtFqoSbYFInuSxcxkSiNUKNtcifTfifgdMRd/CzdXNsliLiEoxVYdQD3fSbzsbwri8PZdA9oqOxAuNWa2cHB2cjg8UOG16CBMlgfj36SRFymQDt6Pi6I53vHtqXk6VcO8k60JcmtZ6bOAAWXEMrBhKDgIAqxc9jGlW3G4B/tMP1eItsS7cRiR9Uf9zO0FSbWchA0pFXSFzjYjgrfy2N/p2AYXezrWS/Q4mb/EqrlkIb3h6NDJuVn5kHuWFmD+Z9sE8W3BeBHH9FA/SMxfHDu8dFyok+n6mBFo4T0=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:VI1PR04MB5600.eurprd04.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(366004)(5660300002)(4744005)(6486002)(8936002)(4326008)(31686004)(2906002)(186003)(31696002)(8676002)(86362001)(54906003)(316002)(16576012)(508600001)(2616005)(53546011)(956004)(38100700002)(36756003)(26005)(66946007)(66476007)(66556008)(6916009)(45980500001)(43740500002);
 DIR:OUT; SFP:1101; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q1Vvd1hPSEluOVExeHBjdXM3M2R0WXhYc3lBc2FOdEk0c1B1dWFHL05RZzB0?=
 =?utf-8?B?QlhjZWJPRFE5Rk0za2c5bkhoMjVkUzVQU3FtZkVNVlVlSW0wUHo4Sk9LM3Aw?=
 =?utf-8?B?dWY4WVFxMFdtS0t0VlBkQy93eTYyNVZMRVhQWlBwNTVVTVFFeEdwZjlENmw3?=
 =?utf-8?B?aXFFbUU3dGltZmpYYkllMHkyMDRBWGZFcXFSV0lFMnFrMkhwbXNGSFcrU1ZD?=
 =?utf-8?B?OGJ5anJXd0FFS3NXZXN5UG9MSDNlTWh1MmlqandzWm1sbzhCVG83N1lhYkQw?=
 =?utf-8?B?QmlrOGZTS1hzUUh4SGlINU9aaGE2WUFkMWtPbWxReTJqYlRuNWZiQ0YxdFpj?=
 =?utf-8?B?MGRwaEk1cEdqQWo3OE05S1Y3dWVlTUthVExSVXRjdGNXL3NXQ3d6bFZseHNl?=
 =?utf-8?B?YnFKNnV2dkk5ZUdIcmxRdXU4NjFsV3JCRXo5ZE5tdStCN2pab0ViR3BFL2hV?=
 =?utf-8?B?VXdrc0dST0JscVZpd25qcWdidU1PckY4MUZXTE1HUVVEZGZUUXBqOU1SNmNj?=
 =?utf-8?B?cllnUGdEZXVKcjBmaC9BVm12T3NiQVRabTlaUHVDakZJOFJncFBnL2dUVjFP?=
 =?utf-8?B?dkpKUFNHTk5hdkk4L09VdnkwZlVPNFFoV2hONFdiRHV3em1nQ1YvTllta0ZO?=
 =?utf-8?B?MlJNOWhXdDk3b3RTbVJGSmZMY29kdm1iSjlnVGZiU0h3NVN4NEtDM0M2S0t0?=
 =?utf-8?B?a25KNzBrOERqVkJ3UHpOTHRYVk9uTXUwYWdvL3I3TXlvSWJsR1dROWU2QWt3?=
 =?utf-8?B?a3FjYVlDR0Npam5McFFQM0J6dlJpZEwwL2FSczZrbDB0ZTRtd2ZwZ1JXOGVY?=
 =?utf-8?B?bk1zbTR6bEN0RjNISFpiNURVN3pOeURYcy9RMVFKRTRoa2ZnbVJhRmc2R3Bl?=
 =?utf-8?B?RDZPVWtzQjUxWlZydXhqMG5GREpRWXQycDZEOVN2Nmx6VXNINXZWWUM5ZHlE?=
 =?utf-8?B?SE9pWURTQlVKck5EZzhhbjlubytBbWpXLzVDSUxWdUw5cjlsU0NGbjhhaGNt?=
 =?utf-8?B?amtNRGNROXYwNnlSSHlNbVhrdS9QSkhTZ2gyNEwyRG5zZWtMUndCZjlwYkdE?=
 =?utf-8?B?Y09uQ3dJRXV3U1FMT2h3dFdUM3dvbDNQaDFVWHB3dFZmN21TYmtEUjZFMkd5?=
 =?utf-8?B?TzlrMEJOd0dXaEwrLzBvdE9XakZGQ2w4anhaVzRJcHpMcmZ4bGt4SFY3Nm1E?=
 =?utf-8?B?bVg0UGIyQjlmdndPRU93VGV0THl3WnI0cDRZV1ljTTFucjJBbTRQVkZaUnNo?=
 =?utf-8?B?Z0FPQlZKTEtPMTRDbzRaT2l4eVYrdnJXLzRMUkMyQ1JYcmxuaGtPTDVHQXdD?=
 =?utf-8?B?cXNDSVZWenNqRllnMVRCdXMyS08wWDllLzZPLzFqL1hudEp3dFlvSEIvTi9y?=
 =?utf-8?B?QTk4UDhoMmNva3BvaVA2OGgvYjRtRzBKU1JhOTV0elNnbDhWSWlxNEh5emk0?=
 =?utf-8?B?SkEwQ01nSU41bDIwRXZDanpUNzZKVmg4bDJGSER4bk5FbXBDNVRJR0d6WDdI?=
 =?utf-8?B?cnMvQTZqRE5QSFB2blJuZXEwOWZrRE1JN0N6LzZHQXJBRjY0N2dXa3M5WFpQ?=
 =?utf-8?B?eDlDOWxtUmtsMzMxbndBbklYTGkyOW53UjhHSXVIUDFEdFFRZjRMOEFGQ3Fx?=
 =?utf-8?B?aTlkUU5VZGF5bkxMTVZtRVRKbzFzeTU1d2ZWWDhBT3VjVW9BY0JRWXVtbjZN?=
 =?utf-8?B?ZlduenBXZkh6NHNkLytRK3V4elRGOVZTaTlOV0lHWndsNHp6c3pWMkhkTHZB?=
 =?utf-8?Q?v7lLb81tWYM2X8xRBhtsWVn78tP7EavjiENLCJ2?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 27c1b678-864a-4470-1579-08d9895febb1
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2021 06:58:52.0224 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E94NLUoVo77W9lNLEgtWrhONe9bYew8THnRkHslY2X9Hl+Pbh70/7avetU8ep6SF+Ckub3nVoGtE+nKtF7dTgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6173
X-BeenThere: binutils@sourceware.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Binutils mailing list <binutils.sourceware.org>
List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>,
 <mailto:binutils-request@sourceware.org?subject=unsubscribe>
List-Archive: <https://sourceware.org/pipermail/binutils/>
List-Post: <mailto:binutils@sourceware.org>
List-Help: <mailto:binutils-request@sourceware.org?subject=help>
List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>,
 <mailto:binutils-request@sourceware.org?subject=subscribe>
From: Jan Beulich via Binutils <binutils@sourceware.org>
Reply-To: Jan Beulich <jbeulich@suse.com>
CC: Kito Cheng <kito.cheng@sifive.com>, <binutils@sourceware.org>
Errors-To: binutils-bounces+gary=partis.co.uk@sourceware.org
Sender: Binutils <binutils-bounces+gary=partis.co.uk@sourceware.org>
X-MS-Exchange-Organization-OriginalArrivalTime: 07 Oct 2021 07:00:44.8590
 (UTC)
X-MS-Exchange-Forest-ArrivalHubServer: SERVER.partis.local
X-MS-Exchange-Organization-OriginalClientIPAddress: 8.43.85.97
X-MS-Exchange-Organization-OriginalServerIPAddress: 127.0.0.1
X-MS-Exchange-Organization-AuthSource: SERVER.partis.local
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-Exchange-Organization-Cross-Premises-Headers-Processed: SERVER.partis.local
X-MS-Exchange-Organization-PRD: sourceware.org
X-MS-Exchange-Organization-SenderIdResult: Pass
Received-SPF: Pass (SERVER.partis.local: domain of
 binutils-bounces+gary=partis.co.uk@sourceware.org designates 8.43.85.97 as
 permitted sender) receiver=SERVER.partis.local; client-ip=8.43.85.97;
 helo=exchange-pop3-connector.com;
X-MS-Exchange-Organization-SCL: 0
X-MS-Exchange-Organization-PCL: 2
X-MS-Exchange-Organization-Antispam-Report: DV:3.3.16631.866;SID:SenderIDStatus Pass;OrigIP:8.43.85.97
X-MS-Exchange-Organization-OriginalSize: 10856
X-MS-Exchange-Forest-MessageScope: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Organization-MessageScope: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Organization-HygienePolicy: Standard
X-MS-Exchange-Organization-Recipient-Limit-Verified: True
X-MS-Exchange-Organization-Processed-By-Journaling: Journal Agent

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Delivery delayed:Re: [PATCH v3 3/4] RISC-V: Add support for Zbs instructions
  2021-10-07  6:57   ` Jan Beulich
@ 2021-10-07 11:51     ` postmaster
  0 siblings, 0 replies; 17+ messages in thread
From: postmaster @ 2021-10-07 11:51 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 422 bytes --]

Delivery is delayed to these recipients or groups:

gary@partis.co.uk<mailto:gary@partis.co.uk>

Subject: Re: [PATCH v3 3/4] RISC-V: Add support for Zbs instructions

This message hasn't been delivered yet. Delivery will continue to be attempted.

The server will keep trying to deliver this message for the next 19 days, 19 hours and 8 minutes. You'll be notified if the message can't be delivered by that time.

[-- Attachment #2: Type: message/delivery-status, Size: 300 bytes --]

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: Type: text/rfc822-headers, Size: 11884 bytes --]

Received: from exchange-pop3-connector.com (192.168.0.1) by
 server.partis.co.uk (192.168.0.1) with Microsoft SMTP Server id 14.1.438.0;
 Thu, 7 Oct 2021 07:59:29 +0100
Return-Path: <binutils-bounces+gary=partis.co.uk@sourceware.org>
Delivered-To: postmaster@partis.co.uk
Received: from localhost (unknown [127.0.0.1])	by ezhosts.net (Postfix) with
 ESMTP id A52BCB23B7	for <gary@partis.co.uk>; Thu,  7 Oct 2021 08:58:59 +0200
 (CEST)
X-Virus-Scanned: Debian amavisd-new at 
Authentication-Results: ezhosts.net (amavisd-new); dkim=pass (1024-bit key)
	header.d=sourceware.org
Received: from ezhosts.net ([127.0.0.1])	by localhost (ezhosts.net
 [127.0.0.1]) (amavisd-new, port 10024)	with ESMTP id dVrKocPxbtDo for
 <gary@partis.co.uk>;	Thu,  7 Oct 2021 08:58:42 +0200 (CEST)
Received: from sourceware.org (unknown [8.43.85.97])	by ezhosts.net (Postfix)
 with ESMTPS id BA320B213B	for <gary@partis.co.uk>; Thu,  7 Oct 2021 08:58:37
 +0200 (CEST)
Received: from server2.sourceware.org (localhost [IPv6:::1])	by sourceware.org
 (Postfix) with ESMTP id 2CD843858022	for <gary@partis.co.uk>; Thu,  7 Oct
 2021 06:58:36 +0000 (GMT)
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2CD843858022
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org;
	s=default; t=1633589916;
	bh=ekg5GzH5fHxX5vN1y0D+G5TBHUwg/JJ8vYB15ySDqJw=;
	h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe:
	 List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
	 From;
	b=tAz/0CRPdb7UDbz8VgH++BAPJSqDCSlVciqy+jskZMDCT+u9DLo6C8zFicwsIOi6j
	 BeikYMWpykGsfAfXrMXCV6VL91/HxxoaKzgJdPGZzBJja4Mxckeql6y2TymzO6Z2nB
	 5r/aw0y2ZmVSMWhZorc8Kqx1GrQORaj0FnoiItXI=
X-Original-To: binutils@sourceware.org
Delivered-To: binutils@sourceware.org
Received: from de-smtp-delivery-102.mimecast.com
 (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by sourceware.org
 (Postfix) with ESMTPS id 8D9473858C39 for <binutils@sourceware.org>; Thu,  7
 Oct 2021 06:57:49 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8D9473858C39
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50]) (Using
 TLS) by relay.mimecast.com with ESMTP id de-mta-34-5os1Rb9AOTmG1uHtKo_N9Q-1;
 Thu, 07 Oct 2021 08:57:47 +0200
X-MC-Unique: 5os1Rb9AOTmG1uHtKo_N9Q-1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AWWoq/9SS6vwmWJxAY8ihFKcsCbhXph5UCXvJnBHTLNj9snt1/iuMqol6MuZ9x9GE/4ti9RdZs7hJS1312fAdtKSc4LheCt+Pc5iv7TmYEXXv//DFmWy3AWBA4kaiKOGSiNLTdusFamlG4K2C53fJ0cal+KGTrSWTl/SxHzV8q8dJY6Tm1/mdc8w85kRrs3mdqjLD5uN4kbqlQ8l6rkKZj6lfTO7DSBO/x5bXHulEsIWk6y2NQF8Choq5LHywIVsPQEMMrQTC5IYemfmM/zF1etVk/MvvMFOllxAmidNBkDvAsfj10pFHmf0XOpVHfAGeOo34Vz185cx9cUO20/o5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ekg5GzH5fHxX5vN1y0D+G5TBHUwg/JJ8vYB15ySDqJw=;
 b=meg9gNISYcmozF4RFRyKa9dJGU/pzMe4whTvGl31cWc8aHrtsoKhMR648puPqoAIHg+Gl/p5VS0yXuB/OoNywXPYHUtf/U0xjdyf0ThDosOz1yMCP/P+5f+xond2aX5KxCZyv2hsDsAaeOMhzvOOk/3G6CLZtUsWGIHnCc3msKppUIy9QUpzQ/NuSpB8ZGq+kGkZGKXl3WT/ud69ZqUGgPjtfS/gHgyAHVeDkLP0dkGNlsiGMU+0FZOog13HBBVCKHwCdeuanjq7MiPJ7/IhHs3ayGgBE5VtKqgo/j3TYPeGwwJMGVjo/N3VVFe+e8WbrqxIZEdNejdvGMZRHaXZRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com (2603:10a6:803:e7::16)
 by VI1PR04MB5168.eurprd04.prod.outlook.com (2603:10a6:803:56::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Thu, 7 Oct
 2021 06:57:45 +0000
Received: from VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b]) by VI1PR04MB5600.eurprd04.prod.outlook.com
 ([fe80::4d37:ec64:4e90:b16b%7]) with mapi id 15.20.4587.020; Thu, 7 Oct 2021
 06:57:45 +0000
Subject: Re: [PATCH v3 3/4] RISC-V: Add support for Zbs instructions
To: Philipp Tomsich <philipp.tomsich@vrull.eu>
References: <20211006202647.328777-1-philipp.tomsich@vrull.eu>
Message-ID: <48290f04-212a-42a9-cb83-d9304cf9d9b4@suse.com>
Date: Thu, 7 Oct 2021 08:57:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101
 Thunderbird/78.14.0
In-Reply-To: <20211006202647.328777-3-philipp.tomsich@vrull.eu>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS8PR04CA0118.eurprd04.prod.outlook.com
 (2603:10a6:20b:31e::33) To VI1PR04MB5600.eurprd04.prod.outlook.com
 (2603:10a6:803:e7::16)
MIME-Version: 1.0
Received: from [10.156.60.236] (37.24.206.209) by
 AS8PR04CA0118.eurprd04.prod.outlook.com (2603:10a6:20b:31e::33) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend
 Transport; Thu, 7 Oct 2021 06:57:45 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 3de7e0a9-2066-4d8b-65a5-08d9895fc437
X-MS-TrafficTypeDiagnostic: VI1PR04MB5168:
X-Microsoft-Antispam-PRVS: <VI1PR04MB51688BB66CA6CD3957EEEAAFB3B19@VI1PR04MB5168.eurprd04.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:369;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: slk3/5jPp2bjmvrFmPdMeZTrGeMINEAOwKVad+tRED3WRsn6GE6Ia2tyfazdlsgd405z/obx9Rd2QNxhSmpyNS8b0PXlfm0hBifuaOelTBSzGQCmYs8/eLrRsK0r8KwurdgSR/YuuhO87deqcrU8T1PJiaM8nQB3zdEP2n6MaeP4i7gtfl5p1nldGcPy0Bg1U7LJ1HVtAtlUIq9BtSF133dUoppYcblhXZ0CMbw4OJ+47hpR/JJD+mN8XS6r9HpSYLLgTpmblgWZo01E+JN5MvYwoMf1BS/YmQOeAGSvtqv8Y/Wb0s/MjKd0GIYSoaDAzPkaPm/Ovd2BZvGn6HwNSh2vNC9CiuIdPnGO2opvRE6WG9KOWEGJ3/36503VXpTPN/4XZS6XaEgtKFX7MC/xAlH9tHgi8/76e4fVDAh/Ku581eJSntr1tT6qY2x3WdRHowUSF110i4r1OM2xNTZHLpuJooXmHxhaK2In+F0foziKh94aBOlaxNGW+HhG007xjz79U1MfZgXtC45jW+KYoHOq/fOKB2DGIeP7uSvMNkWfjmTFyrryzeIT0TOwSrmGJ7RJzcx5dkfINCJAxUtHMWztUZqy1VVyjB+TTeUp0l/vhyNER2xW3KPJg/uA58l5/ebIWts4AbapCCFHt49jneCSEViqspY7ZPuumrW41V2ZN7M5cRz609ez+NAJds0WaWVrxva/mA4DxQV8TBVApYQ6L2vhpi2SqhuR4YOI/to=
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:VI1PR04MB5600.eurprd04.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(366004)(16576012)(31686004)(186003)(316002)(508600001)(6916009)(54906003)(31696002)(2906002)(956004)(2616005)(6486002)(5660300002)(38100700002)(36756003)(66476007)(86362001)(66556008)(66946007)(8936002)(26005)(4326008)(53546011)(8676002)(45980500001)(43740500002);
 DIR:OUT; SFP:1101; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?MnVRblkveStKVHRPK3Bza0ZpQzB1eXBHN1dZbDU3WXB6MlpQbHFtNzBYZnhl?=
 =?utf-8?B?VDJiUEtPdWtlWVNvaTJhT3k4UGs4Zk9jejJWajR2cGYrSDVMUXRDSkhJVzV2?=
 =?utf-8?B?RnhLT1ZRRDdseWUwcUYwOVdQaGFTa0JwNmVRdlRJSDFpcVdna3RndTNOVVFE?=
 =?utf-8?B?NDhCUTE4OWs3MjQxVllpNnF5NXlEM2QvYzBia1A2amo2QVd3bDdhR0xyVkk3?=
 =?utf-8?B?VnhGbGlkMEgrRTNnSFFmWGJqZWZCQmcxTEkvUEh3dldsd0FMSnVKNnM4SmV1?=
 =?utf-8?B?b1ZpWUNHNUZBdlVqdzg3eU9KR25WT01GeWVvcm40OVpNcjgySHVlTnJoVG1M?=
 =?utf-8?B?dEthTTdjbnVRd014S2IwR3JkT3RxQWFXUyt0VUlBVzVoUHBpbkZmY1J2dDlr?=
 =?utf-8?B?WlhnUWhTckVvUFYwa09CUWd5dm8zRE91ZlBkeE94TFR4eWRUWU9YK3Fab2kr?=
 =?utf-8?B?SEM0VHNhaUkra1Jia1krTDdTUHB4VWh3WmlLbUNGZlJGYjhxU0UrZjJnWVlW?=
 =?utf-8?B?cTZkeDQwZmRySUdKdWEzODhLZ09DWm9rNERZTzgwaHE3WWRTZTNCWXE0TnZi?=
 =?utf-8?B?UUNpQjlNdTVoNGRKRXA4UXRsOC92L3BscVpXT0hsdGdDWUFnS2tXV0dpWFlU?=
 =?utf-8?B?Rm9qMHBrMU9Fc0V6eFhsaWJOMTdhYUdVWEN5K3dseXdoZUZKTDc4cndnLzBt?=
 =?utf-8?B?cnVpRkZsTEhGOWpZN0VXNzBrWE43RkVETWhKM3hsSEU3b2wvaGNCWU1ydzUz?=
 =?utf-8?B?SmtZV2tjcDZOanRneTVuNUg2TmVGK25VUXR4SjRJanZZVUVydUNic1IxMnFO?=
 =?utf-8?B?YUdmT0lXZjVHNUNuenduTDh6YjAvNGN2alozV21Zck9QUnhna2x4aDlrclly?=
 =?utf-8?B?d0NzaldrREY0VWJBNDlOcThRMXdSZi9CcEJDVTkrWXF1S2RnSmVRTlR0VXJG?=
 =?utf-8?B?VjdpSllDeXpkcWY2MTU2cFdqcGlHMm0yNldaVitPV1BpY1BQZDN2ZzZ0c2F5?=
 =?utf-8?B?cElOanI3cmw4amZqL1pIa20zVjd0TlFpSXVVQXdRSkR4Z2RsbWhLSkJtR2I1?=
 =?utf-8?B?bEdLNXpzVjBEbjhGQU90ZU8rWFpwS1RpcUFjWURVZVlPNVIxMVVVdjc3aVhw?=
 =?utf-8?B?T1dYeC9JM1VIUDF5VDFRUDVYYVdoUU9WODJqMk5HbHVFWmJKZXJSRFdZenFJ?=
 =?utf-8?B?MnZyeHFobkF1NG1BWXljdzNxdUNtRUpKeTgvVFl5N1cvT2FKOXhwb2JsRDlM?=
 =?utf-8?B?Z3ViTjErUGNOVVBEdnEyTzBuV04weXdaNkFud092UnpYWTVjQVU5U05XOW9Y?=
 =?utf-8?B?OEpvS3R1c0RvTGM1VVo5bGdMemdXVGNzWVg0YW9tVnp3eFJrdnNoRXJyaFVk?=
 =?utf-8?B?b1ZVd0pLeDZGL1l1eWJCdXp5S2dTK3YxRXlMZUxwOWFNaWRSUDZYUWR4SERj?=
 =?utf-8?B?cFVyNXpEaHMvNk1Jd0RqcUxZUTRIVTJ4OEs4V1hiRzNTNGhnNytJRDdJaUgr?=
 =?utf-8?B?NFR3NmJkOEs0NjhyMGhZam1BZ3ZGNmdPbHg5L04yMDdKa3lQRmVZd1hrczBQ?=
 =?utf-8?B?dUIxNTdKNzcrUFo5UCtKK2Vsam9WK0VJY3N1ZkNDRlp3WTR0SmRXeWJWRGdM?=
 =?utf-8?B?R3Y5eFl6NjJoV0dub1UvUGhHNDlmRmM5MzI2NFNWUWdOUjdSOVFER3UyT0xo?=
 =?utf-8?B?bzQ1bE1IMzhWU0t6ZUxmWC9qQWtOaUVBa3VVcUlEbTVHSGFsbmVlc0cvRUlS?=
 =?utf-8?Q?vlwYwgTSPtWcTU7QwM8kwp8oRby5snDCHyERJAd?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 3de7e0a9-2066-4d8b-65a5-08d9895fc437
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5600.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2021 06:57:45.7438 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: db72qpaQFOuT5JkGCdikIq06iQMVFGqMAwfz3vI0oecqwmReZ9XowpGLde9iXISWOdPwM42KqQLaSizsnvxUVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5168
X-BeenThere: binutils@sourceware.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Binutils mailing list <binutils.sourceware.org>
List-Unsubscribe: <https://sourceware.org/mailman/options/binutils>,
 <mailto:binutils-request@sourceware.org?subject=unsubscribe>
List-Archive: <https://sourceware.org/pipermail/binutils/>
List-Post: <mailto:binutils@sourceware.org>
List-Help: <mailto:binutils-request@sourceware.org?subject=help>
List-Subscribe: <https://sourceware.org/mailman/listinfo/binutils>,
 <mailto:binutils-request@sourceware.org?subject=subscribe>
From: Jan Beulich via Binutils <binutils@sourceware.org>
Reply-To: Jan Beulich <jbeulich@suse.com>
CC: Kito Cheng <kito.cheng@sifive.com>, <binutils@sourceware.org>
Errors-To: binutils-bounces+gary=partis.co.uk@sourceware.org
Sender: Binutils <binutils-bounces+gary=partis.co.uk@sourceware.org>
X-MS-Exchange-Organization-OriginalArrivalTime: 07 Oct 2021 06:59:29.7123
 (UTC)
X-MS-Exchange-Forest-ArrivalHubServer: SERVER.partis.local
X-MS-Exchange-Organization-OriginalClientIPAddress: 8.43.85.97
X-MS-Exchange-Organization-OriginalServerIPAddress: 127.0.0.1
X-MS-Exchange-Organization-AuthSource: SERVER.partis.local
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-Exchange-Organization-Cross-Premises-Headers-Processed: SERVER.partis.local
X-MS-Exchange-Organization-PRD: sourceware.org
X-MS-Exchange-Organization-SenderIdResult: Pass
Received-SPF: Pass (SERVER.partis.local: domain of
 binutils-bounces+gary=partis.co.uk@sourceware.org designates 8.43.85.97 as
 permitted sender) receiver=SERVER.partis.local; client-ip=8.43.85.97;
 helo=exchange-pop3-connector.com;
X-MS-Exchange-Organization-SCL: 0
X-MS-Exchange-Organization-PCL: 2
X-MS-Exchange-Organization-Antispam-Report: DV:3.3.16631.866;SID:SenderIDStatus Pass;OrigIP:8.43.85.97
X-MS-Exchange-Organization-OriginalSize: 11857
X-MS-Exchange-Forest-MessageScope: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Organization-MessageScope: 00000000-0000-0000-0000-000000000000
X-MS-Exchange-Organization-HygienePolicy: Standard
X-MS-Exchange-Organization-Recipient-Limit-Verified: True
X-MS-Exchange-Organization-Processed-By-Journaling: Journal Agent

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-07  9:13     ` Nelson Chu
@ 2021-10-27 23:54       ` Vineet Gupta
  2021-10-28  2:28         ` Nelson Chu
  0 siblings, 1 reply; 17+ messages in thread
From: Vineet Gupta @ 2021-10-27 23:54 UTC (permalink / raw)
  To: Nelson Chu, Jan Beulich; +Cc: Kito Cheng, Binutils, Philipp Tomsich, Jim Wilson

Hi Nelson, Kito, Jim

On 10/7/21 2:13 AM, Nelson Chu wrote:
> On Thu, Oct 7, 2021 at 2:59 PM Jan Beulich via Binutils
> <binutils@sourceware.org> wrote:
>>
>> On 06.10.2021 22:26, Philipp Tomsich wrote:
>>> Add aliases for the non-immediate mnemonics of b{set,clr,inv,ext} to
>>> yencode the respective immediate insn b{set,clr,inv,ext}i when the
>>> second source operand is an immediate.
>>
>> Oh, sorry - here the aliases get added. Should have looked at all the
>> titles first ...
> 
> Hi Jan,
> 
> Thanks for confirming this.
> 
> Hi Philipp,
> 
> Thanks for helping with this, the series of patches looks good and we
> do need these.  Committed.

Will it be possible to backport these 4 patches to
upstream/user/riscv/binutils-integration-branch.

That way it becomes a single place where we could use all bleeding edge 
features rather than downstream users/companies having to maintain forks ?

Thx,
-Vineet

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-27 23:54       ` Vineet Gupta
@ 2021-10-28  2:28         ` Nelson Chu
  2021-10-28  3:24           ` Vineet Gupta
  0 siblings, 1 reply; 17+ messages in thread
From: Nelson Chu @ 2021-10-28  2:28 UTC (permalink / raw)
  To: Vineet Gupta
  Cc: Jan Beulich, Kito Cheng, Binutils, Philipp Tomsich, Jim Wilson

Hi Vineet,

On Thu, Oct 28, 2021 at 7:54 AM Vineet Gupta <vineetg@rivosinc.com> wrote:
>
> Hi Nelson, Kito, Jim
>
> Will it be possible to backport these 4 patches to
> upstream/user/riscv/binutils-integration-branch.

I have rebased the integration branch until 20211027, so it should
include the v1.0 zba, zbb, zbc and zbs extensions for now.

> That way it becomes a single place where we could use all bleeding edge
> features rather than downstream users/companies having to maintain forks ?

Yes, this is the main purpose of the integration branch.  However, I'm
thinking about how to make maintenance more convenient for everyone,
both in the mainline and integration branch.  Perhaps it will be
better that we move the released vendor stuff from the integration
branch to the mainline, so that all the released things are maintained
in the mainline, and they should be stable enough and must consider
the compatible issues.  But for the integration branch, it will only
have the purpose of temporarily putting the draft extensions, maybe we
could also try to move them back to mainline, just that we could drop
the draft things directly once they are updated.  In other words, we
only keep the implementation of the extensions if their versions are
at least v1.0 (released), otherwise, we could drop them (< v1.0) and
always keep the newest one.

Thanks
Nelson

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-28  2:28         ` Nelson Chu
@ 2021-10-28  3:24           ` Vineet Gupta
  2021-10-28  8:08             ` Kito Cheng
  0 siblings, 1 reply; 17+ messages in thread
From: Vineet Gupta @ 2021-10-28  3:24 UTC (permalink / raw)
  To: Nelson Chu; +Cc: Jan Beulich, Kito Cheng, Binutils, Philipp Tomsich, Jim Wilson

Hi Nelson,

On 10/27/21 7:28 PM, Nelson Chu wrote:
> Hi Vineet,
>
> On Thu, Oct 28, 2021 at 7:54 AM Vineet Gupta <vineetg@rivosinc.com> wrote:
>> Hi Nelson, Kito, Jim
>>
>> Will it be possible to backport these 4 patches to
>> upstream/user/riscv/binutils-integration-branch.
> I have rebased the integration branch until 20211027, so it should
> include the v1.0 zba, zbb, zbc and zbs extensions for now.

Awesome, thx for that. I saw earlier that it has vector stuff in there 
too - Last month Jim had some concerns [1] about vector support in gcc, 
how is that coming along ?

>> That way it becomes a single place where we could use all bleeding edge
>> features rather than downstream users/companies having to maintain forks ?
> Yes, this is the main purpose of the integration branch.  However, I'm
> thinking about how to make maintenance more convenient for everyone,
> both in the mainline and integration branch.  Perhaps it will be
> better that we move the released vendor stuff from the integration
> branch to the mainline, so that all the released things are maintained
> in the mainline, and they should be stable enough and must consider
> the compatible issues.

Totally agree.

> But for the integration branch, it will only
> have the purpose of temporarily putting the draft extensions, maybe we
> could also try to move them back to mainline, just that we could drop
> the draft things directly once they are updated.  In other words, we
> only keep the implementation of the extensions if their versions are
> at least v1.0 (released), otherwise, we could drop them (< v1.0) and
> always keep the newest one.

Great, I'd say we run with this approach.

Thx,
-Vineet

[1] https://sourceware.org/pipermail/libc-alpha/2021-September/131051.html

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH v3 4/4] RISC-V: Support aliases for Zbs instructions
  2021-10-28  3:24           ` Vineet Gupta
@ 2021-10-28  8:08             ` Kito Cheng
  0 siblings, 0 replies; 17+ messages in thread
From: Kito Cheng @ 2021-10-28  8:08 UTC (permalink / raw)
  To: Vineet Gupta
  Cc: Nelson Chu, Jan Beulich, Binutils, Philipp Tomsich, Jim Wilson

Hi Vineet:

> Awesome, thx for that. I saw earlier that it has vector stuff in there
> too - Last month Jim had some concerns [1] about vector support in gcc,
> how is that coming along ?

My plan is only to add minimal support for RVV on GCC before next GCC release,
As Jim mentioned we didn't invest RVV intrinsic function on GCC, but
for glibc support,
that only requires minimal support on GCC.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2021-10-28  8:08 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-06 20:26 [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Philipp Tomsich
2021-10-06 20:26 ` [PATCH v3 2/4] RISC-V: Update extension version for Zb[abc] to 1.0.0 Philipp Tomsich
2021-10-07  4:02   ` Nelson Chu
2021-10-06 20:26 ` [PATCH v3 3/4] RISC-V: Add support for Zbs instructions Philipp Tomsich
2021-10-07  4:02   ` Nelson Chu
2021-10-07  6:57   ` Jan Beulich
2021-10-07 11:51     ` Delivery delayed:Re: " postmaster
2021-10-06 20:26 ` [PATCH v3 4/4] RISC-V: Support aliases " Philipp Tomsich
2021-10-07  4:05   ` Nelson Chu
2021-10-07  6:58   ` Jan Beulich
2021-10-07  9:13     ` Nelson Chu
2021-10-27 23:54       ` Vineet Gupta
2021-10-28  2:28         ` Nelson Chu
2021-10-28  3:24           ` Vineet Gupta
2021-10-28  8:08             ` Kito Cheng
2021-10-07 11:06     ` Delivery delayed:Re: " postmaster
2021-10-07  4:01 ` [PATCH v3 1/4] RISC-V: Split Zb[abc] into commented sections Nelson Chu

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 read-only IMAP folder(s) and NNTP newsgroup(s).