From 9ba7d2b6875ca876c47257fd626b57caf6c1ad6c Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 13:53:05 +0000 Subject: [PATCH 01/13] Added missing Zfh instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zfh/fadd.h.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zfh/fclass.h.yaml | 25 +++++++++++++++++++++++++ arch/inst/Zfh/fcvt.d.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.h.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.h.l.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.h.lu.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.h.w.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.h.wu.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.l.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.lu.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.w.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fcvt.wu.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fdiv.h.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zfh/feq.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fle.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fleq.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fli.h.yaml | 26 ++++++++++++++++++++++++++ arch/inst/Zfh/flt.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fltq.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fmadd.h.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/Zfh/fmax.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fmaxm.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fmin.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fminm.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fmsub.h.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/Zfh/fmul.h.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zfh/fnmadd.h.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/Zfh/fnmsub.h.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/Zfh/fround.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/froundnx.h.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zfh/fsgnj.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fsgnjn.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fsgnjx.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fsqrt.h.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zfh/fsub.h.yaml | 29 +++++++++++++++++++++++++++++ 35 files changed, 978 insertions(+) create mode 100644 arch/inst/Zfh/fadd.h.yaml create mode 100644 arch/inst/Zfh/fclass.h.yaml create mode 100644 arch/inst/Zfh/fcvt.d.h.yaml create mode 100644 arch/inst/Zfh/fcvt.h.d.yaml create mode 100644 arch/inst/Zfh/fcvt.h.l.yaml create mode 100644 arch/inst/Zfh/fcvt.h.lu.yaml create mode 100644 arch/inst/Zfh/fcvt.h.w.yaml create mode 100644 arch/inst/Zfh/fcvt.h.wu.yaml create mode 100644 arch/inst/Zfh/fcvt.l.h.yaml create mode 100644 arch/inst/Zfh/fcvt.lu.h.yaml create mode 100644 arch/inst/Zfh/fcvt.w.h.yaml create mode 100644 arch/inst/Zfh/fcvt.wu.h.yaml create mode 100644 arch/inst/Zfh/fdiv.h.yaml create mode 100644 arch/inst/Zfh/feq.h.yaml create mode 100644 arch/inst/Zfh/fle.h.yaml create mode 100644 arch/inst/Zfh/fleq.h.yaml create mode 100644 arch/inst/Zfh/fli.h.yaml create mode 100644 arch/inst/Zfh/flt.h.yaml create mode 100644 arch/inst/Zfh/fltq.h.yaml create mode 100644 arch/inst/Zfh/fmadd.h.yaml create mode 100644 arch/inst/Zfh/fmax.h.yaml create mode 100644 arch/inst/Zfh/fmaxm.h.yaml create mode 100644 arch/inst/Zfh/fmin.h.yaml create mode 100644 arch/inst/Zfh/fminm.h.yaml create mode 100644 arch/inst/Zfh/fmsub.h.yaml create mode 100644 arch/inst/Zfh/fmul.h.yaml create mode 100644 arch/inst/Zfh/fnmadd.h.yaml create mode 100644 arch/inst/Zfh/fnmsub.h.yaml create mode 100644 arch/inst/Zfh/fround.h.yaml create mode 100644 arch/inst/Zfh/froundnx.h.yaml create mode 100644 arch/inst/Zfh/fsgnj.h.yaml create mode 100644 arch/inst/Zfh/fsgnjn.h.yaml create mode 100644 arch/inst/Zfh/fsgnjx.h.yaml create mode 100644 arch/inst/Zfh/fsqrt.h.yaml create mode 100644 arch/inst/Zfh/fsub.h.yaml diff --git a/arch/inst/Zfh/fadd.h.yaml b/arch/inst/Zfh/fadd.h.yaml new file mode 100644 index 000000000..51ac99df5 --- /dev/null +++ b/arch/inst/Zfh/fadd.h.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fadd.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, rm +encoding: + match: 0000010------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fclass.h.yaml b/arch/inst/Zfh/fclass.h.yaml new file mode 100644 index 000000000..2943a7184 --- /dev/null +++ b/arch/inst/Zfh/fclass.h.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fclass.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1 +encoding: + match: 111001000000-----001-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.d.h.yaml b/arch/inst/Zfh/fcvt.d.h.yaml new file mode 100644 index 000000000..d3f147dfc --- /dev/null +++ b/arch/inst/Zfh/fcvt.d.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfh] +assembly: xd, xs1, rm +encoding: + match: 010000100010-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.h.d.yaml b/arch/inst/Zfh/fcvt.h.d.yaml new file mode 100644 index 000000000..b0d4e2ee2 --- /dev/null +++ b/arch/inst/Zfh/fcvt.h.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.h.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfh] +assembly: xd, xs1, rm +encoding: + match: 010001000001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.h.l.yaml b/arch/inst/Zfh/fcvt.h.l.yaml new file mode 100644 index 000000000..c3b75a026 --- /dev/null +++ b/arch/inst/Zfh/fcvt.h.l.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.h.l +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110101000010-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zfh/fcvt.h.lu.yaml b/arch/inst/Zfh/fcvt.h.lu.yaml new file mode 100644 index 000000000..037811c38 --- /dev/null +++ b/arch/inst/Zfh/fcvt.h.lu.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.h.lu +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110101000011-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zfh/fcvt.h.w.yaml b/arch/inst/Zfh/fcvt.h.w.yaml new file mode 100644 index 000000000..c17da2a24 --- /dev/null +++ b/arch/inst/Zfh/fcvt.h.w.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.h.w +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110101000000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.h.wu.yaml b/arch/inst/Zfh/fcvt.h.wu.yaml new file mode 100644 index 000000000..4e0a0b503 --- /dev/null +++ b/arch/inst/Zfh/fcvt.h.wu.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.h.wu +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110101000001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.l.h.yaml b/arch/inst/Zfh/fcvt.l.h.yaml new file mode 100644 index 000000000..c7efe1383 --- /dev/null +++ b/arch/inst/Zfh/fcvt.l.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.l.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110001000010-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zfh/fcvt.lu.h.yaml b/arch/inst/Zfh/fcvt.lu.h.yaml new file mode 100644 index 000000000..8d98111e7 --- /dev/null +++ b/arch/inst/Zfh/fcvt.lu.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.lu.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110001000011-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zfh/fcvt.w.h.yaml b/arch/inst/Zfh/fcvt.w.h.yaml new file mode 100644 index 000000000..91734b0f8 --- /dev/null +++ b/arch/inst/Zfh/fcvt.w.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.w.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110001000000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fcvt.wu.h.yaml b/arch/inst/Zfh/fcvt.wu.h.yaml new file mode 100644 index 000000000..ed7163ee7 --- /dev/null +++ b/arch/inst/Zfh/fcvt.wu.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.wu.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 110001000001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fdiv.h.yaml b/arch/inst/Zfh/fdiv.h.yaml new file mode 100644 index 000000000..9d0c7b840 --- /dev/null +++ b/arch/inst/Zfh/fdiv.h.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fdiv.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, rm +encoding: + match: 0001110------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/feq.h.yaml b/arch/inst/Zfh/feq.h.yaml new file mode 100644 index 000000000..77c687a95 --- /dev/null +++ b/arch/inst/Zfh/feq.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: feq.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 1010010----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fle.h.yaml b/arch/inst/Zfh/fle.h.yaml new file mode 100644 index 000000000..212d00238 --- /dev/null +++ b/arch/inst/Zfh/fle.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fle.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 1010010----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fleq.h.yaml b/arch/inst/Zfh/fleq.h.yaml new file mode 100644 index 000000000..13dd11363 --- /dev/null +++ b/arch/inst/Zfh/fleq.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fleq.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, xs2 +encoding: + match: 1010010----------100-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fli.h.yaml b/arch/inst/Zfh/fli.h.yaml new file mode 100644 index 000000000..28932bea8 --- /dev/null +++ b/arch/inst/Zfh/fli.h.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fli.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1 +encoding: + match: 111101000001-----000-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/flt.h.yaml b/arch/inst/Zfh/flt.h.yaml new file mode 100644 index 000000000..e379cc4b6 --- /dev/null +++ b/arch/inst/Zfh/flt.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: flt.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 1010010----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fltq.h.yaml b/arch/inst/Zfh/fltq.h.yaml new file mode 100644 index 000000000..59d17dfad --- /dev/null +++ b/arch/inst/Zfh/fltq.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fltq.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, xs2 +encoding: + match: 1010010----------101-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmadd.h.yaml b/arch/inst/Zfh/fmadd.h.yaml new file mode 100644 index 000000000..f8e496d6b --- /dev/null +++ b/arch/inst/Zfh/fmadd.h.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmadd.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----10------------------1000011 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmax.h.yaml b/arch/inst/Zfh/fmax.h.yaml new file mode 100644 index 000000000..e42b1f096 --- /dev/null +++ b/arch/inst/Zfh/fmax.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmax.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 0010110----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmaxm.h.yaml b/arch/inst/Zfh/fmaxm.h.yaml new file mode 100644 index 000000000..1c8ad0fd3 --- /dev/null +++ b/arch/inst/Zfh/fmaxm.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmaxm.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, xs2 +encoding: + match: 0010110----------011-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmin.h.yaml b/arch/inst/Zfh/fmin.h.yaml new file mode 100644 index 000000000..f132ad6be --- /dev/null +++ b/arch/inst/Zfh/fmin.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmin.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 0010110----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fminm.h.yaml b/arch/inst/Zfh/fminm.h.yaml new file mode 100644 index 000000000..368564f3b --- /dev/null +++ b/arch/inst/Zfh/fminm.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fminm.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, xs2 +encoding: + match: 0010110----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmsub.h.yaml b/arch/inst/Zfh/fmsub.h.yaml new file mode 100644 index 000000000..6a04f4513 --- /dev/null +++ b/arch/inst/Zfh/fmsub.h.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmsub.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----10------------------1000111 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fmul.h.yaml b/arch/inst/Zfh/fmul.h.yaml new file mode 100644 index 000000000..09ec68e0e --- /dev/null +++ b/arch/inst/Zfh/fmul.h.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmul.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, rm +encoding: + match: 0001010------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fnmadd.h.yaml b/arch/inst/Zfh/fnmadd.h.yaml new file mode 100644 index 000000000..8598d1233 --- /dev/null +++ b/arch/inst/Zfh/fnmadd.h.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fnmadd.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----10------------------1001111 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fnmsub.h.yaml b/arch/inst/Zfh/fnmsub.h.yaml new file mode 100644 index 000000000..226882bdc --- /dev/null +++ b/arch/inst/Zfh/fnmsub.h.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fnmsub.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----10------------------1001011 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fround.h.yaml b/arch/inst/Zfh/fround.h.yaml new file mode 100644 index 000000000..4fa3d1d50 --- /dev/null +++ b/arch/inst/Zfh/fround.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fround.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, rm +encoding: + match: 010001000100-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/froundnx.h.yaml b/arch/inst/Zfh/froundnx.h.yaml new file mode 100644 index 000000000..ec5f4fdeb --- /dev/null +++ b/arch/inst/Zfh/froundnx.h.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: froundnx.h +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [Zfa, Zfh] +assembly: xd, xs1, rm +encoding: + match: 010001000101-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fsgnj.h.yaml b/arch/inst/Zfh/fsgnj.h.yaml new file mode 100644 index 000000000..d0f1d6dbe --- /dev/null +++ b/arch/inst/Zfh/fsgnj.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnj.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 0010010----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fsgnjn.h.yaml b/arch/inst/Zfh/fsgnjn.h.yaml new file mode 100644 index 000000000..54b4e0d8a --- /dev/null +++ b/arch/inst/Zfh/fsgnjn.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnjn.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 0010010----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fsgnjx.h.yaml b/arch/inst/Zfh/fsgnjx.h.yaml new file mode 100644 index 000000000..b52101aea --- /dev/null +++ b/arch/inst/Zfh/fsgnjx.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnjx.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2 +encoding: + match: 0010010----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fsqrt.h.yaml b/arch/inst/Zfh/fsqrt.h.yaml new file mode 100644 index 000000000..d38f24379 --- /dev/null +++ b/arch/inst/Zfh/fsqrt.h.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsqrt.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, rm +encoding: + match: 010111000000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zfh/fsub.h.yaml b/arch/inst/Zfh/fsub.h.yaml new file mode 100644 index 000000000..956661d97 --- /dev/null +++ b/arch/inst/Zfh/fsub.h.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsub.h +long_name: No synopsis available. +description: | + No description available. +definedBy: Zfh +assembly: xd, xs1, xs2, rm +encoding: + match: 0000110------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 29e805e7c956726ab0722cdab6820530846c465a Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 14:18:51 +0000 Subject: [PATCH 02/13] Added missing D instructions Signed-off-by: Afonso Oliveira --- arch/inst/D/fadd.d.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/D/fclass.d.yaml | 25 +++++++++++++++++++++++++ arch/inst/D/fcvt.d.l.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fcvt.d.lu.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fcvt.d.s.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvt.d.w.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvt.d.wu.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvt.l.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fcvt.lu.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fcvt.s.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvt.w.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvt.wu.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fcvtmod.w.d.yaml | 26 ++++++++++++++++++++++++++ arch/inst/D/fdiv.d.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/D/feq.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fld.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fle.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fleq.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fli.d.yaml | 26 ++++++++++++++++++++++++++ arch/inst/D/flt.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fltq.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fmadd.d.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/D/fmax.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fmaxm.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fmin.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fminm.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fmsub.d.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/D/fmul.d.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/D/fmv.d.x.yaml | 26 ++++++++++++++++++++++++++ arch/inst/D/fmv.x.d.yaml | 26 ++++++++++++++++++++++++++ arch/inst/D/fmvh.x.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fmvp.d.x.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/D/fnmadd.d.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/D/fnmsub.d.yaml | 31 +++++++++++++++++++++++++++++++ arch/inst/D/fround.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/froundnx.d.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/D/fsd.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fsgnj.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fsgnjn.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fsgnjx.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fsqrt.d.yaml | 27 +++++++++++++++++++++++++++ arch/inst/D/fsub.d.yaml | 29 +++++++++++++++++++++++++++++ 42 files changed, 1164 insertions(+) create mode 100644 arch/inst/D/fadd.d.yaml create mode 100644 arch/inst/D/fclass.d.yaml create mode 100644 arch/inst/D/fcvt.d.l.yaml create mode 100644 arch/inst/D/fcvt.d.lu.yaml create mode 100644 arch/inst/D/fcvt.d.s.yaml create mode 100644 arch/inst/D/fcvt.d.w.yaml create mode 100644 arch/inst/D/fcvt.d.wu.yaml create mode 100644 arch/inst/D/fcvt.l.d.yaml create mode 100644 arch/inst/D/fcvt.lu.d.yaml create mode 100644 arch/inst/D/fcvt.s.d.yaml create mode 100644 arch/inst/D/fcvt.w.d.yaml create mode 100644 arch/inst/D/fcvt.wu.d.yaml create mode 100644 arch/inst/D/fcvtmod.w.d.yaml create mode 100644 arch/inst/D/fdiv.d.yaml create mode 100644 arch/inst/D/feq.d.yaml create mode 100644 arch/inst/D/fld.yaml create mode 100644 arch/inst/D/fle.d.yaml create mode 100644 arch/inst/D/fleq.d.yaml create mode 100644 arch/inst/D/fli.d.yaml create mode 100644 arch/inst/D/flt.d.yaml create mode 100644 arch/inst/D/fltq.d.yaml create mode 100644 arch/inst/D/fmadd.d.yaml create mode 100644 arch/inst/D/fmax.d.yaml create mode 100644 arch/inst/D/fmaxm.d.yaml create mode 100644 arch/inst/D/fmin.d.yaml create mode 100644 arch/inst/D/fminm.d.yaml create mode 100644 arch/inst/D/fmsub.d.yaml create mode 100644 arch/inst/D/fmul.d.yaml create mode 100644 arch/inst/D/fmv.d.x.yaml create mode 100644 arch/inst/D/fmv.x.d.yaml create mode 100644 arch/inst/D/fmvh.x.d.yaml create mode 100644 arch/inst/D/fmvp.d.x.yaml create mode 100644 arch/inst/D/fnmadd.d.yaml create mode 100644 arch/inst/D/fnmsub.d.yaml create mode 100644 arch/inst/D/fround.d.yaml create mode 100644 arch/inst/D/froundnx.d.yaml create mode 100644 arch/inst/D/fsd.yaml create mode 100644 arch/inst/D/fsgnj.d.yaml create mode 100644 arch/inst/D/fsgnjn.d.yaml create mode 100644 arch/inst/D/fsgnjx.d.yaml create mode 100644 arch/inst/D/fsqrt.d.yaml create mode 100644 arch/inst/D/fsub.d.yaml diff --git a/arch/inst/D/fadd.d.yaml b/arch/inst/D/fadd.d.yaml new file mode 100644 index 000000000..263afe656 --- /dev/null +++ b/arch/inst/D/fadd.d.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fadd.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, rm +encoding: + match: 0000001------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fclass.d.yaml b/arch/inst/D/fclass.d.yaml new file mode 100644 index 000000000..5deb39d6e --- /dev/null +++ b/arch/inst/D/fclass.d.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fclass.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1 +encoding: + match: 111000100000-----001-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.d.l.yaml b/arch/inst/D/fcvt.d.l.yaml new file mode 100644 index 000000000..2e5f4dc44 --- /dev/null +++ b/arch/inst/D/fcvt.d.l.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.l +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110100100010-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fcvt.d.lu.yaml b/arch/inst/D/fcvt.d.lu.yaml new file mode 100644 index 000000000..9668ee921 --- /dev/null +++ b/arch/inst/D/fcvt.d.lu.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.lu +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110100100011-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fcvt.d.s.yaml b/arch/inst/D/fcvt.d.s.yaml new file mode 100644 index 000000000..ca93fa3b1 --- /dev/null +++ b/arch/inst/D/fcvt.d.s.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.s +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 010000100000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.d.w.yaml b/arch/inst/D/fcvt.d.w.yaml new file mode 100644 index 000000000..779e77749 --- /dev/null +++ b/arch/inst/D/fcvt.d.w.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.w +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110100100000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.d.wu.yaml b/arch/inst/D/fcvt.d.wu.yaml new file mode 100644 index 000000000..897637dd7 --- /dev/null +++ b/arch/inst/D/fcvt.d.wu.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.d.wu +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110100100001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.l.d.yaml b/arch/inst/D/fcvt.l.d.yaml new file mode 100644 index 000000000..3cfa12bea --- /dev/null +++ b/arch/inst/D/fcvt.l.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.l.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110000100010-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fcvt.lu.d.yaml b/arch/inst/D/fcvt.lu.d.yaml new file mode 100644 index 000000000..aecb2ca0e --- /dev/null +++ b/arch/inst/D/fcvt.lu.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.lu.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110000100011-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fcvt.s.d.yaml b/arch/inst/D/fcvt.s.d.yaml new file mode 100644 index 000000000..88d599d53 --- /dev/null +++ b/arch/inst/D/fcvt.s.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.s.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 010000000001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.w.d.yaml b/arch/inst/D/fcvt.w.d.yaml new file mode 100644 index 000000000..e2714af75 --- /dev/null +++ b/arch/inst/D/fcvt.w.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.w.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110000100000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvt.wu.d.yaml b/arch/inst/D/fcvt.wu.d.yaml new file mode 100644 index 000000000..59a3ed84d --- /dev/null +++ b/arch/inst/D/fcvt.wu.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvt.wu.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 110000100001-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fcvtmod.w.d.yaml b/arch/inst/D/fcvtmod.w.d.yaml new file mode 100644 index 000000000..4d186be08 --- /dev/null +++ b/arch/inst/D/fcvtmod.w.d.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fcvtmod.w.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1 +encoding: + match: 110000101000-----001-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fdiv.d.yaml b/arch/inst/D/fdiv.d.yaml new file mode 100644 index 000000000..5194db5de --- /dev/null +++ b/arch/inst/D/fdiv.d.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fdiv.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, rm +encoding: + match: 0001101------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/feq.d.yaml b/arch/inst/D/feq.d.yaml new file mode 100644 index 000000000..3f0dffd80 --- /dev/null +++ b/arch/inst/D/feq.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: feq.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 1010001----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fld.yaml b/arch/inst/D/fld.yaml new file mode 100644 index 000000000..a1097d179 --- /dev/null +++ b/arch/inst/D/fld.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fld +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, imm +encoding: + match: -----------------011-----0000111 + variables: + - name: imm + location: 31-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fle.d.yaml b/arch/inst/D/fle.d.yaml new file mode 100644 index 000000000..42b06629a --- /dev/null +++ b/arch/inst/D/fle.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fle.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 1010001----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fleq.d.yaml b/arch/inst/D/fleq.d.yaml new file mode 100644 index 000000000..77948081b --- /dev/null +++ b/arch/inst/D/fleq.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fleq.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, xs2 +encoding: + match: 1010001----------100-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fli.d.yaml b/arch/inst/D/fli.d.yaml new file mode 100644 index 000000000..e78305d40 --- /dev/null +++ b/arch/inst/D/fli.d.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fli.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1 +encoding: + match: 111100100001-----000-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/flt.d.yaml b/arch/inst/D/flt.d.yaml new file mode 100644 index 000000000..20ae39d59 --- /dev/null +++ b/arch/inst/D/flt.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: flt.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 1010001----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fltq.d.yaml b/arch/inst/D/fltq.d.yaml new file mode 100644 index 000000000..f2dc4d0c4 --- /dev/null +++ b/arch/inst/D/fltq.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fltq.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, xs2 +encoding: + match: 1010001----------101-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmadd.d.yaml b/arch/inst/D/fmadd.d.yaml new file mode 100644 index 000000000..8057fb9fb --- /dev/null +++ b/arch/inst/D/fmadd.d.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmadd.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----01------------------1000011 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmax.d.yaml b/arch/inst/D/fmax.d.yaml new file mode 100644 index 000000000..ea557fb82 --- /dev/null +++ b/arch/inst/D/fmax.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmax.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 0010101----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmaxm.d.yaml b/arch/inst/D/fmaxm.d.yaml new file mode 100644 index 000000000..2ab31feab --- /dev/null +++ b/arch/inst/D/fmaxm.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmaxm.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, xs2 +encoding: + match: 0010101----------011-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmin.d.yaml b/arch/inst/D/fmin.d.yaml new file mode 100644 index 000000000..e7928b72e --- /dev/null +++ b/arch/inst/D/fmin.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmin.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 0010101----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fminm.d.yaml b/arch/inst/D/fminm.d.yaml new file mode 100644 index 000000000..d8c6ee360 --- /dev/null +++ b/arch/inst/D/fminm.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fminm.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, xs2 +encoding: + match: 0010101----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmsub.d.yaml b/arch/inst/D/fmsub.d.yaml new file mode 100644 index 000000000..6eee5f8e2 --- /dev/null +++ b/arch/inst/D/fmsub.d.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmsub.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----01------------------1000111 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmul.d.yaml b/arch/inst/D/fmul.d.yaml new file mode 100644 index 000000000..cc1847a14 --- /dev/null +++ b/arch/inst/D/fmul.d.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmul.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, rm +encoding: + match: 0001001------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fmv.d.x.yaml b/arch/inst/D/fmv.d.x.yaml new file mode 100644 index 000000000..a6859fbf9 --- /dev/null +++ b/arch/inst/D/fmv.d.x.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmv.d.x +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1 +encoding: + match: 111100100000-----000-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fmv.x.d.yaml b/arch/inst/D/fmv.x.d.yaml new file mode 100644 index 000000000..dbad3a006 --- /dev/null +++ b/arch/inst/D/fmv.x.d.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmv.x.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1 +encoding: + match: 111000100000-----000-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/D/fmvh.x.d.yaml b/arch/inst/D/fmvh.x.d.yaml new file mode 100644 index 000000000..c9492bc7f --- /dev/null +++ b/arch/inst/D/fmvh.x.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmvh.x.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1 +encoding: + match: 111000100001-----000-----1010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 32 +operation(): | + diff --git a/arch/inst/D/fmvp.d.x.yaml b/arch/inst/D/fmvp.d.x.yaml new file mode 100644 index 000000000..a7aee0eb9 --- /dev/null +++ b/arch/inst/D/fmvp.d.x.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fmvp.d.x +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, xs2 +encoding: + match: 1011001----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 32 +operation(): | + diff --git a/arch/inst/D/fnmadd.d.yaml b/arch/inst/D/fnmadd.d.yaml new file mode 100644 index 000000000..4decb5936 --- /dev/null +++ b/arch/inst/D/fnmadd.d.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fnmadd.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----01------------------1001111 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fnmsub.d.yaml b/arch/inst/D/fnmsub.d.yaml new file mode 100644 index 000000000..a5a067037 --- /dev/null +++ b/arch/inst/D/fnmsub.d.yaml @@ -0,0 +1,31 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fnmsub.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, xs3, rm +encoding: + match: -----01------------------1001011 + variables: + - name: rs3 + location: 31-27 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fround.d.yaml b/arch/inst/D/fround.d.yaml new file mode 100644 index 000000000..8d5b70109 --- /dev/null +++ b/arch/inst/D/fround.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fround.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, rm +encoding: + match: 010000100100-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/froundnx.d.yaml b/arch/inst/D/froundnx.d.yaml new file mode 100644 index 000000000..b1c151da9 --- /dev/null +++ b/arch/inst/D/froundnx.d.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: froundnx.d +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [D, Zfa] +assembly: xd, xs1, rm +encoding: + match: 010000100101-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsd.yaml b/arch/inst/D/fsd.yaml new file mode 100644 index 000000000..fe879dd5e --- /dev/null +++ b/arch/inst/D/fsd.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsd +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xs1, xs2, imm +encoding: + match: -----------------011-----0100111 + variables: + - name: imm + location: 31-25|11-7 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsgnj.d.yaml b/arch/inst/D/fsgnj.d.yaml new file mode 100644 index 000000000..e87590932 --- /dev/null +++ b/arch/inst/D/fsgnj.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnj.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 0010001----------000-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsgnjn.d.yaml b/arch/inst/D/fsgnjn.d.yaml new file mode 100644 index 000000000..21f54f530 --- /dev/null +++ b/arch/inst/D/fsgnjn.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnjn.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 0010001----------001-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsgnjx.d.yaml b/arch/inst/D/fsgnjx.d.yaml new file mode 100644 index 000000000..737aef9a5 --- /dev/null +++ b/arch/inst/D/fsgnjx.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsgnjx.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2 +encoding: + match: 0010001----------010-----1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsqrt.d.yaml b/arch/inst/D/fsqrt.d.yaml new file mode 100644 index 000000000..5a0772445 --- /dev/null +++ b/arch/inst/D/fsqrt.d.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsqrt.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, rm +encoding: + match: 010110100000-------------1010011 + variables: + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/D/fsub.d.yaml b/arch/inst/D/fsub.d.yaml new file mode 100644 index 000000000..f7723cf23 --- /dev/null +++ b/arch/inst/D/fsub.d.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: fsub.d +long_name: No synopsis available. +description: | + No description available. +definedBy: D +assembly: xd, xs1, xs2, rm +encoding: + match: 0000101------------------1010011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rm + location: 14-12 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From e8a12ff8ad193c928449689d4922ab493e18d90b Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 14:20:17 +0000 Subject: [PATCH 03/13] Added missing Zicsr instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zicsr/csrrc.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zicsr/csrrci.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zicsr/csrrsi.yaml | 27 +++++++++++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 arch/inst/Zicsr/csrrc.yaml create mode 100644 arch/inst/Zicsr/csrrci.yaml create mode 100644 arch/inst/Zicsr/csrrsi.yaml diff --git a/arch/inst/Zicsr/csrrc.yaml b/arch/inst/Zicsr/csrrc.yaml new file mode 100644 index 000000000..c03fda2b8 --- /dev/null +++ b/arch/inst/Zicsr/csrrc.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: csrrc +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicsr +assembly: xd, xs1, csr +encoding: + match: -----------------011-----1110011 + variables: + - name: csr + location: 31-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicsr/csrrci.yaml b/arch/inst/Zicsr/csrrci.yaml new file mode 100644 index 000000000..3473497ef --- /dev/null +++ b/arch/inst/Zicsr/csrrci.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: csrrci +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicsr +assembly: xd, csr, imm +encoding: + match: -----------------111-----1110011 + variables: + - name: csr + location: 31-20 + - name: uimm + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicsr/csrrsi.yaml b/arch/inst/Zicsr/csrrsi.yaml new file mode 100644 index 000000000..2ad946d19 --- /dev/null +++ b/arch/inst/Zicsr/csrrsi.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: csrrsi +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicsr +assembly: xd, csr, imm +encoding: + match: -----------------110-----1110011 + variables: + - name: csr + location: 31-20 + - name: uimm + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 90de357c52866667f8c2b053569e8f9fc4f9af9a Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 14:24:02 +0000 Subject: [PATCH 04/13] Added missing Zicfiss instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zicfiss/c.sspopchk.x5.yaml | 22 ++++++++++++++++++++++ arch/inst/Zicfiss/c.sspush.x1.yaml | 22 ++++++++++++++++++++++ arch/inst/Zicfiss/ssamoswap.d.yaml | 6 +++--- arch/inst/Zicfiss/ssamoswap.w.yaml | 6 +++--- arch/inst/Zicfiss/sspopchk.x1.yaml | 21 +++++++++++++++++++++ arch/inst/Zicfiss/sspopchk.x5.yaml | 21 +++++++++++++++++++++ arch/inst/Zicfiss/sspush.x1.yaml | 21 +++++++++++++++++++++ arch/inst/Zicfiss/sspush.x5.yaml | 21 +++++++++++++++++++++ arch/inst/Zicfiss/ssrdp.yaml | 24 ++++++++++++++++++++++++ 9 files changed, 158 insertions(+), 6 deletions(-) create mode 100644 arch/inst/Zicfiss/c.sspopchk.x5.yaml create mode 100644 arch/inst/Zicfiss/c.sspush.x1.yaml create mode 100644 arch/inst/Zicfiss/sspopchk.x1.yaml create mode 100644 arch/inst/Zicfiss/sspopchk.x5.yaml create mode 100644 arch/inst/Zicfiss/sspush.x1.yaml create mode 100644 arch/inst/Zicfiss/sspush.x5.yaml create mode 100644 arch/inst/Zicfiss/ssrdp.yaml diff --git a/arch/inst/Zicfiss/c.sspopchk.x5.yaml b/arch/inst/Zicfiss/c.sspopchk.x5.yaml new file mode 100644 index 000000000..1c3e3c9d0 --- /dev/null +++ b/arch/inst/Zicfiss/c.sspopchk.x5.yaml @@ -0,0 +1,22 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: c.sspopchk.x5 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [C, Zicfiss] +assembly: c_sspopchk_x5 +encoding: + match: ----------------0110001010000001 + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/c.sspush.x1.yaml b/arch/inst/Zicfiss/c.sspush.x1.yaml new file mode 100644 index 000000000..5ef5b6bda --- /dev/null +++ b/arch/inst/Zicfiss/c.sspush.x1.yaml @@ -0,0 +1,22 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: c.sspush.x1 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [C, Zicfiss] +assembly: c_sspush_x1 +encoding: + match: ----------------0110000010000001 + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/ssamoswap.d.yaml b/arch/inst/Zicfiss/ssamoswap.d.yaml index cda2a4d6e..6c1ca2738 100644 --- a/arch/inst/Zicfiss/ssamoswap.d.yaml +++ b/arch/inst/Zicfiss/ssamoswap.d.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: ssamoswap.d long_name: No synopsis available. description: | - No description available. + No description available. definedBy: Zicfiss assembly: xd, xs1, xs2, aq, rl encoding: @@ -28,4 +28,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/Zicfiss/ssamoswap.w.yaml b/arch/inst/Zicfiss/ssamoswap.w.yaml index e079f4556..1c608eef0 100644 --- a/arch/inst/Zicfiss/ssamoswap.w.yaml +++ b/arch/inst/Zicfiss/ssamoswap.w.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: ssamoswap.w long_name: No synopsis available. description: | - No description available. + No description available. definedBy: Zicfiss assembly: xd, xs1, xs2, aq, rl encoding: @@ -28,4 +28,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/Zicfiss/sspopchk.x1.yaml b/arch/inst/Zicfiss/sspopchk.x1.yaml new file mode 100644 index 000000000..31d6c20e5 --- /dev/null +++ b/arch/inst/Zicfiss/sspopchk.x1.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: sspopchk.x1 +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfiss +assembly: sspopchk_x1 +encoding: + match: '11001101110000001100000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/sspopchk.x5.yaml b/arch/inst/Zicfiss/sspopchk.x5.yaml new file mode 100644 index 000000000..9f77ca1c1 --- /dev/null +++ b/arch/inst/Zicfiss/sspopchk.x5.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: sspopchk.x5 +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfiss +assembly: sspopchk_x5 +encoding: + match: '11001101110000101100000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/sspush.x1.yaml b/arch/inst/Zicfiss/sspush.x1.yaml new file mode 100644 index 000000000..6d4a0b880 --- /dev/null +++ b/arch/inst/Zicfiss/sspush.x1.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: sspush.x1 +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfiss +assembly: sspush_x1 +encoding: + match: '11001110000100000100000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/sspush.x5.yaml b/arch/inst/Zicfiss/sspush.x5.yaml new file mode 100644 index 000000000..e4b7957c1 --- /dev/null +++ b/arch/inst/Zicfiss/sspush.x5.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: sspush.x5 +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfiss +assembly: sspush_x5 +encoding: + match: '11001110010100000100000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zicfiss/ssrdp.yaml b/arch/inst/Zicfiss/ssrdp.yaml new file mode 100644 index 000000000..93597b957 --- /dev/null +++ b/arch/inst/Zicfiss/ssrdp.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: ssrdp +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfiss +assembly: xd +encoding: + match: 11001101110000000100-----1110011 + variables: + - name: rd + location: 11-7 + not: 0 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 5a4a9a5fde8b2ff4f83a539e2e34f4cf5cbe5b23 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 14:58:45 +0000 Subject: [PATCH 05/13] Added missing Zbkx instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zbkx/xperm4.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zbkx/xperm8.yaml | 28 ++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 arch/inst/Zbkx/xperm4.yaml create mode 100644 arch/inst/Zbkx/xperm8.yaml diff --git a/arch/inst/Zbkx/xperm4.yaml b/arch/inst/Zbkx/xperm4.yaml new file mode 100644 index 000000000..a422462e2 --- /dev/null +++ b/arch/inst/Zbkx/xperm4.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: xperm4 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbkx, Zk, Zkn, Zks] +assembly: xd, xs1, xs2 +encoding: + match: 0010100----------010-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zbkx/xperm8.yaml b/arch/inst/Zbkx/xperm8.yaml new file mode 100644 index 000000000..5f6bb5a59 --- /dev/null +++ b/arch/inst/Zbkx/xperm8.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: xperm8 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbkx, Zk, Zkn, Zks] +assembly: xd, xs1, xs2 +encoding: + match: 0010100----------100-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From c2c50c1cfdf51882586debd25abc1e5346929d82 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:01:50 +0000 Subject: [PATCH 06/13] Removed overlapping C Zicfiss instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zicfiss/c.sspopchk.x5.yaml | 22 ---------------------- arch/inst/Zicfiss/c.sspush.x1.yaml | 22 ---------------------- 2 files changed, 44 deletions(-) delete mode 100644 arch/inst/Zicfiss/c.sspopchk.x5.yaml delete mode 100644 arch/inst/Zicfiss/c.sspush.x1.yaml diff --git a/arch/inst/Zicfiss/c.sspopchk.x5.yaml b/arch/inst/Zicfiss/c.sspopchk.x5.yaml deleted file mode 100644 index 1c3e3c9d0..000000000 --- a/arch/inst/Zicfiss/c.sspopchk.x5.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=../../../schemas/inst_schema.json - -$schema: inst_schema.json# -kind: instruction -name: c.sspopchk.x5 -long_name: No synopsis available. -description: | - No description available. -definedBy: - anyOf: [C, Zicfiss] -assembly: c_sspopchk_x5 -encoding: - match: ----------------0110001010000001 - variables: [] -access: - s: always - u: always - vs: always - vu: always -data_independent_timing: false -operation(): | - diff --git a/arch/inst/Zicfiss/c.sspush.x1.yaml b/arch/inst/Zicfiss/c.sspush.x1.yaml deleted file mode 100644 index 5ef5b6bda..000000000 --- a/arch/inst/Zicfiss/c.sspush.x1.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# yaml-language-server: $schema=../../../schemas/inst_schema.json - -$schema: inst_schema.json# -kind: instruction -name: c.sspush.x1 -long_name: No synopsis available. -description: | - No description available. -definedBy: - anyOf: [C, Zicfiss] -assembly: c_sspush_x1 -encoding: - match: ----------------0110000010000001 - variables: [] -access: - s: always - u: always - vs: always - vu: always -data_independent_timing: false -operation(): | - From 9c490388471696aee5e04d5b9995aa53060719d5 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:07:51 +0000 Subject: [PATCH 07/13] Added missing Zbp instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zbp/gorci.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zbp/grevi.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zbp/shfli.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zbp/unshfli.yaml | 29 +++++++++++++++++++++++++++++ arch/inst/Zbp/xperm16.yaml | 28 ++++++++++++++++++++++++++++ arch/inst/Zbp/xperm32.yaml | 29 +++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+) create mode 100644 arch/inst/Zbp/gorci.yaml create mode 100644 arch/inst/Zbp/grevi.yaml create mode 100644 arch/inst/Zbp/shfli.yaml create mode 100644 arch/inst/Zbp/unshfli.yaml create mode 100644 arch/inst/Zbp/xperm16.yaml create mode 100644 arch/inst/Zbp/xperm32.yaml diff --git a/arch/inst/Zbp/gorci.yaml b/arch/inst/Zbp/gorci.yaml new file mode 100644 index 000000000..4b61d319b --- /dev/null +++ b/arch/inst/Zbp/gorci.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: gorci +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, shamt +encoding: + match: 001010-----------101-----0010011 + variables: + - name: shamt + location: 25-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zbp/grevi.yaml b/arch/inst/Zbp/grevi.yaml new file mode 100644 index 000000000..89bc7860a --- /dev/null +++ b/arch/inst/Zbp/grevi.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: grevi +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, shamt +encoding: + match: 011010-----------101-----0010011 + variables: + - name: shamt + location: 25-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zbp/shfli.yaml b/arch/inst/Zbp/shfli.yaml new file mode 100644 index 000000000..3b30aae23 --- /dev/null +++ b/arch/inst/Zbp/shfli.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: shfli +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, shamt +encoding: + match: 0000100----------001-----0010011 + variables: + - name: shamt + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zbp/unshfli.yaml b/arch/inst/Zbp/unshfli.yaml new file mode 100644 index 000000000..8038269f7 --- /dev/null +++ b/arch/inst/Zbp/unshfli.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: unshfli +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, shamt +encoding: + match: 0000100----------101-----0010011 + variables: + - name: shamt + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + diff --git a/arch/inst/Zbp/xperm16.yaml b/arch/inst/Zbp/xperm16.yaml new file mode 100644 index 000000000..afd0ea3fe --- /dev/null +++ b/arch/inst/Zbp/xperm16.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: xperm16 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, xs2 +encoding: + match: 0010100----------110-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zbp/xperm32.yaml b/arch/inst/Zbp/xperm32.yaml new file mode 100644 index 000000000..8045330db --- /dev/null +++ b/arch/inst/Zbp/xperm32.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: xperm32 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbp] +assembly: xd, xs1, xs2 +encoding: + match: 0010100----------000-----0110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 64 +operation(): | + From 19f773967c4f7fe37dea2f300d7c0fc3a821dc3b Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:19:52 +0000 Subject: [PATCH 08/13] Added missing Zbkb instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zbkb/brev8.yaml | 26 ++++++++++++++++++++++++++ arch/inst/Zbkb/unzip.yaml | 27 +++++++++++++++++++++++++++ arch/inst/Zbkb/zip.yaml | 27 +++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 arch/inst/Zbkb/brev8.yaml create mode 100644 arch/inst/Zbkb/unzip.yaml create mode 100644 arch/inst/Zbkb/zip.yaml diff --git a/arch/inst/Zbkb/brev8.yaml b/arch/inst/Zbkb/brev8.yaml new file mode 100644 index 000000000..2a2d5598d --- /dev/null +++ b/arch/inst/Zbkb/brev8.yaml @@ -0,0 +1,26 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: brev8 +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbkb, Zk, Zkn, Zks] +assembly: xd, xs1 +encoding: + match: 011010000111-----101-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zbkb/unzip.yaml b/arch/inst/Zbkb/unzip.yaml new file mode 100644 index 000000000..6927616ea --- /dev/null +++ b/arch/inst/Zbkb/unzip.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: unzip +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbkb, Zk, Zkn, Zks] +assembly: xd, xs1 +encoding: + match: 000010001111-----101-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 32 +operation(): | + diff --git a/arch/inst/Zbkb/zip.yaml b/arch/inst/Zbkb/zip.yaml new file mode 100644 index 000000000..a542b172e --- /dev/null +++ b/arch/inst/Zbkb/zip.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: zip +long_name: No synopsis available. +description: | + No description available. +definedBy: + anyOf: [B, Zbkb, Zk, Zkn, Zks] +assembly: xd, xs1 +encoding: + match: 000010001111-----001-----0010011 + variables: + - name: rs1 + location: 19-15 + - name: rd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +base: 32 +operation(): | + From 03f6ec0f0a3c50b3073e50922a2aee5af0d9a369 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:34:24 +0000 Subject: [PATCH 09/13] Add Sdext instructions Signed-off-by: Afonso Oliveira --- arch/inst/Sdext/dret.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 arch/inst/Sdext/dret.yaml diff --git a/arch/inst/Sdext/dret.yaml b/arch/inst/Sdext/dret.yaml new file mode 100644 index 000000000..e2ddf182c --- /dev/null +++ b/arch/inst/Sdext/dret.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: dret +long_name: No synopsis available. +description: | + No description available. +definedBy: Sdext +assembly: dret +encoding: + match: '01111011001000000000000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 0f6e01cf9c420ffc2c1a3310d6dbaeabfdee5025 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:34:42 +0000 Subject: [PATCH 10/13] Add H extension missing instructions Signed-off-by: Afonso Oliveira --- arch/inst/H/hfence.gvma.yaml | 25 +++++++++++++++++++++++++ arch/inst/H/hfence.vvma.yaml | 6 +++--- arch/inst/H/hlv.b.yaml | 6 +++--- arch/inst/H/hlv.bu.yaml | 6 +++--- arch/inst/H/hlv.d.yaml | 8 ++++---- arch/inst/H/hlv.h.yaml | 6 +++--- arch/inst/H/hlv.hu.yaml | 6 +++--- arch/inst/H/hlv.w.yaml | 6 +++--- arch/inst/H/hlv.wu.yaml | 8 ++++---- arch/inst/H/hlvx.hu.yaml | 6 +++--- arch/inst/H/hlvx.wu.yaml | 6 +++--- arch/inst/H/hsv.b.yaml | 6 +++--- arch/inst/H/hsv.d.yaml | 8 ++++---- arch/inst/H/hsv.h.yaml | 6 +++--- arch/inst/H/hsv.w.yaml | 6 +++--- 15 files changed, 70 insertions(+), 45 deletions(-) create mode 100644 arch/inst/H/hfence.gvma.yaml diff --git a/arch/inst/H/hfence.gvma.yaml b/arch/inst/H/hfence.gvma.yaml new file mode 100644 index 000000000..9645a5c49 --- /dev/null +++ b/arch/inst/H/hfence.gvma.yaml @@ -0,0 +1,25 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: hfence.gvma +long_name: No synopsis available. +description: | + No description available. +definedBy: H +assembly: xs1, xs2 +encoding: + match: 0110001----------000000001110011 + variables: + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/H/hfence.vvma.yaml b/arch/inst/H/hfence.vvma.yaml index d02fa52f8..e82abec6d 100644 --- a/arch/inst/H/hfence.vvma.yaml +++ b/arch/inst/H/hfence.vvma.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hfence.vvma long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xs1, xs2 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.b.yaml b/arch/inst/H/hlv.b.yaml index f0b586dfc..227e2e5c0 100644 --- a/arch/inst/H/hlv.b.yaml +++ b/arch/inst/H/hlv.b.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.b long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.bu.yaml b/arch/inst/H/hlv.bu.yaml index bbc92947e..2c5418ec2 100644 --- a/arch/inst/H/hlv.bu.yaml +++ b/arch/inst/H/hlv.bu.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.bu long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.d.yaml b/arch/inst/H/hlv.d.yaml index 1d4e4d9f9..919cc6875 100644 --- a/arch/inst/H/hlv.d.yaml +++ b/arch/inst/H/hlv.d.yaml @@ -1,13 +1,12 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.d long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H -base: 64 assembly: xd, xs1 encoding: match: 011011000000-----100-----1110011 @@ -22,5 +21,6 @@ access: vs: always vu: always data_independent_timing: false +base: 64 operation(): | - + diff --git a/arch/inst/H/hlv.h.yaml b/arch/inst/H/hlv.h.yaml index 5b0340c16..8e7191cb0 100644 --- a/arch/inst/H/hlv.h.yaml +++ b/arch/inst/H/hlv.h.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.h long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.hu.yaml b/arch/inst/H/hlv.hu.yaml index 29385cf38..ac69cc127 100644 --- a/arch/inst/H/hlv.hu.yaml +++ b/arch/inst/H/hlv.hu.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.hu long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.w.yaml b/arch/inst/H/hlv.w.yaml index 96a567e75..2c56a33d5 100644 --- a/arch/inst/H/hlv.w.yaml +++ b/arch/inst/H/hlv.w.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.w long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlv.wu.yaml b/arch/inst/H/hlv.wu.yaml index 3b7171feb..9b2aa3fd4 100644 --- a/arch/inst/H/hlv.wu.yaml +++ b/arch/inst/H/hlv.wu.yaml @@ -1,13 +1,12 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlv.wu long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H -base: 64 assembly: xd, xs1 encoding: match: 011010000001-----100-----1110011 @@ -22,5 +21,6 @@ access: vs: always vu: always data_independent_timing: false +base: 64 operation(): | - + diff --git a/arch/inst/H/hlvx.hu.yaml b/arch/inst/H/hlvx.hu.yaml index 52d7e9c2b..20491065b 100644 --- a/arch/inst/H/hlvx.hu.yaml +++ b/arch/inst/H/hlvx.hu.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlvx.hu long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hlvx.wu.yaml b/arch/inst/H/hlvx.wu.yaml index 86d744570..0f93baf90 100644 --- a/arch/inst/H/hlvx.wu.yaml +++ b/arch/inst/H/hlvx.wu.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hlvx.wu long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xd, xs1 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hsv.b.yaml b/arch/inst/H/hsv.b.yaml index 9cef80e79..b05b3dd89 100644 --- a/arch/inst/H/hsv.b.yaml +++ b/arch/inst/H/hsv.b.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hsv.b long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xs1, xs2 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hsv.d.yaml b/arch/inst/H/hsv.d.yaml index 350481d93..5fa349994 100644 --- a/arch/inst/H/hsv.d.yaml +++ b/arch/inst/H/hsv.d.yaml @@ -1,13 +1,12 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hsv.d long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H -base: 64 assembly: xs1, xs2 encoding: match: 0110111----------100000001110011 @@ -22,5 +21,6 @@ access: vs: always vu: always data_independent_timing: false +base: 64 operation(): | - + diff --git a/arch/inst/H/hsv.h.yaml b/arch/inst/H/hsv.h.yaml index b782a4cb5..a307f6a5d 100644 --- a/arch/inst/H/hsv.h.yaml +++ b/arch/inst/H/hsv.h.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hsv.h long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xs1, xs2 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + diff --git a/arch/inst/H/hsv.w.yaml b/arch/inst/H/hsv.w.yaml index d78fa81bf..e5e778bbd 100644 --- a/arch/inst/H/hsv.w.yaml +++ b/arch/inst/H/hsv.w.yaml @@ -1,11 +1,11 @@ # yaml-language-server: $schema=../../../schemas/inst_schema.json -$schema: "inst_schema.json#" +$schema: inst_schema.json# kind: instruction name: hsv.w long_name: No synopsis available. description: | - No description available. + No description available. definedBy: H assembly: xs1, xs2 encoding: @@ -22,4 +22,4 @@ access: vu: always data_independent_timing: false operation(): | - + From 86ccfa5a40e70f31f2b1568baa787c5e0869e355 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:36:52 +0000 Subject: [PATCH 11/13] Add Zicfilp extension missing instructions Signed-off-by: Afonso Oliveira --- arch/inst/Zicfilp/lpad.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 arch/inst/Zicfilp/lpad.yaml diff --git a/arch/inst/Zicfilp/lpad.yaml b/arch/inst/Zicfilp/lpad.yaml new file mode 100644 index 000000000..376bce829 --- /dev/null +++ b/arch/inst/Zicfilp/lpad.yaml @@ -0,0 +1,24 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: lpad +long_name: No synopsis available. +description: | + No description available. +definedBy: Zicfilp +assembly: imm +encoding: + match: --------------------000000010111 + variables: + - name: imm + location: 31-12 + left_shift: 12 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 4e7e1d4d89743d562975d027e5937ec407d0a0ae Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:38:50 +0000 Subject: [PATCH 12/13] Add Smdbltrp extension missing instructions Signed-off-by: Afonso Oliveira --- arch/inst/Smdbltrp/sctrclr.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 arch/inst/Smdbltrp/sctrclr.yaml diff --git a/arch/inst/Smdbltrp/sctrclr.yaml b/arch/inst/Smdbltrp/sctrclr.yaml new file mode 100644 index 000000000..cb1bf2f08 --- /dev/null +++ b/arch/inst/Smdbltrp/sctrclr.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: sctrclr +long_name: No synopsis available. +description: | + No description available. +definedBy: Smdbltrp +assembly: sctrclr +encoding: + match: '00010000010000000000000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + From 66b7836edd4404309118c82b06e56d26f35043f1 Mon Sep 17 00:00:00 2001 From: Afonso Oliveira Date: Mon, 18 Nov 2024 15:41:09 +0000 Subject: [PATCH 13/13] Add Smrnmi extension missing instructions Signed-off-by: Afonso Oliveira --- arch/inst/Smrnmi/mnret.yaml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 arch/inst/Smrnmi/mnret.yaml diff --git a/arch/inst/Smrnmi/mnret.yaml b/arch/inst/Smrnmi/mnret.yaml new file mode 100644 index 000000000..0b8abd110 --- /dev/null +++ b/arch/inst/Smrnmi/mnret.yaml @@ -0,0 +1,21 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: mnret +long_name: No synopsis available. +description: | + No description available. +definedBy: Smrnmi +assembly: mnret +encoding: + match: '01110000001000000000000001110011' + variables: [] +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | +