From 3c1ff418107d5b36a6801f17d7bb6acb19550783 Mon Sep 17 00:00:00 2001 From: Tariq Kurd Date: Mon, 10 Mar 2025 13:20:38 +0100 Subject: [PATCH 1/2] making c.addi16sp/c.addi4spn more consistent with the RISC-V arch spec --- src/insns/addi16sp_16bit.adoc | 8 ++++---- src/insns/addi4spn_16bit.adoc | 8 ++++---- src/insns/wavedrom/c-ciw.adoc | 2 +- src/insns/wavedrom/c-int-reg-immed.adoc | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/insns/addi16sp_16bit.adoc b/src/insns/addi16sp_16bit.adoc index f8b14179..59aab9e6 100644 --- a/src/insns/addi16sp_16bit.adoc +++ b/src/insns/addi16sp_16bit.adoc @@ -7,16 +7,16 @@ Synopsis:: Stack pointer increment in blocks of 16 (C.ADDI16SP), 16-bit encodings {cheri_cap_mode_name} Mnemonic:: -`c.addi16sp imm` +`c.addi16sp nzimm` {cheri_cap_mode_name} Expansion:: -`cadd csp, csp, imm` +`cadd csp, csp, nzimm` {cheri_int_mode_name} Mnemonic:: -`c.addi16sp imm` +`c.addi16sp nzimm` {cheri_int_mode_name} Expansion:: -`add sp, sp, imm` +`add sp, sp, nzimm` Encoding:: include::wavedrom/c-int-reg-immed.adoc[] diff --git a/src/insns/addi4spn_16bit.adoc b/src/insns/addi4spn_16bit.adoc index f5223e6e..9d48e0be 100644 --- a/src/insns/addi4spn_16bit.adoc +++ b/src/insns/addi4spn_16bit.adoc @@ -7,16 +7,16 @@ Synopsis:: Stack pointer increment in blocks of 4 (C.ADDI4SPN), 16-bit encoding {cheri_cap_mode_name} Mnemonic:: -`c.addi4spn cd', uimm` +`c.addi4spn cd', nzuimm` {cheri_cap_mode_name} Expansion:: -`cadd cd', csp, uimm` +`cadd cd', csp, nzuimm` {cheri_int_mode_name} Mnemonic:: -`c.addi4spn rd', uimm` +`c.addi4spn rd', nzuimm` {cheri_int_mode_name} Expansion:: -`add rd', sp, uimm` +`add rd', sp, nzuimm` Encoding:: include::wavedrom/c-ciw.adoc[] diff --git a/src/insns/wavedrom/c-ciw.adoc b/src/insns/wavedrom/c-ciw.adoc index 90f46ce1..529a223b 100644 --- a/src/insns/wavedrom/c-ciw.adoc +++ b/src/insns/wavedrom/c-ciw.adoc @@ -5,7 +5,7 @@ {reg: [ {bits: 2, name: 'op', type: 3, attr: ['2','C0=00'],}, {bits: 3, name: 'rd\'', type: 5, attr: ['3','dest'],}, - {bits: 8, name: 'nzimm', type: 5, attr: ['8','uimm[5:4|9:6|2|3]!=0']}, + {bits: 8, name: 'imm', type: 5, attr: ['8','nzuimm[5:4|9:6|2|3]']}, {bits: 3, name: 'funct3',type: 5, attr: ['3','C.ADDI4SPN=000']}, ], config: {bits: 16}} .... diff --git a/src/insns/wavedrom/c-int-reg-immed.adoc b/src/insns/wavedrom/c-int-reg-immed.adoc index 68793d84..2b090300 100644 --- a/src/insns/wavedrom/c-int-reg-immed.adoc +++ b/src/insns/wavedrom/c-int-reg-immed.adoc @@ -4,9 +4,9 @@ .... {reg: [ {bits: 2, name: 'op', type: 3, attr: ['2','C1=01']}, - {bits: 5, name: 'nzimm[4|6|8:7|5]', type: 1, attr: ['5','offset[4|6|8:7|5]']}, + {bits: 5, name: 'imm[4|6|8:7|5]', type: 1, attr: ['5','nzimm[4|6|8:7|5]']}, {bits: 5, name: 'rd/rs1', type: 5, attr: ['5','2']}, - {bits: 1, name: 'nzimm[9]', type: 5, attr: ['1','[9]']}, + {bits: 1, name: 'imm[9]', type: 5, attr: ['1','nzimm[9]']}, {bits: 3, name: 'funct3', type: 5, attr: ['3','C.ADDI16SP=011']}, ], config: {bits: 16}} .... From 9c7c793c74b53c1ceba9afbcd83a56973dfe8c83 Mon Sep 17 00:00:00 2001 From: Tariq Kurd Date: Mon, 10 Mar 2025 17:09:52 +0100 Subject: [PATCH 2/2] change add to addi --- src/insns/addi16sp_16bit.adoc | 4 ++-- src/insns/addi4spn_16bit.adoc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/insns/addi16sp_16bit.adoc b/src/insns/addi16sp_16bit.adoc index 59aab9e6..826b8929 100644 --- a/src/insns/addi16sp_16bit.adoc +++ b/src/insns/addi16sp_16bit.adoc @@ -10,13 +10,13 @@ Stack pointer increment in blocks of 16 (C.ADDI16SP), 16-bit encodings `c.addi16sp nzimm` {cheri_cap_mode_name} Expansion:: -`cadd csp, csp, nzimm` +`caddi csp, csp, nzimm` {cheri_int_mode_name} Mnemonic:: `c.addi16sp nzimm` {cheri_int_mode_name} Expansion:: -`add sp, sp, nzimm` +`addi sp, sp, nzimm` Encoding:: include::wavedrom/c-int-reg-immed.adoc[] diff --git a/src/insns/addi4spn_16bit.adoc b/src/insns/addi4spn_16bit.adoc index 9d48e0be..72ea3835 100644 --- a/src/insns/addi4spn_16bit.adoc +++ b/src/insns/addi4spn_16bit.adoc @@ -10,13 +10,13 @@ Stack pointer increment in blocks of 4 (C.ADDI4SPN), 16-bit encoding `c.addi4spn cd', nzuimm` {cheri_cap_mode_name} Expansion:: -`cadd cd', csp, nzuimm` +`caddi cd', csp, nzuimm` {cheri_int_mode_name} Mnemonic:: `c.addi4spn rd', nzuimm` {cheri_int_mode_name} Expansion:: -`add rd', sp, nzuimm` +`addi rd', sp, nzuimm` Encoding:: include::wavedrom/c-ciw.adoc[]