diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 000000000..084687ad4 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,54 @@ +name: Regression test + +on: + schedule: + - cron: '30 2 * * *' + workflow_dispatch: + +jobs: + # check_date from: https://stackoverflow.com/questions/63014786/how-to-schedule-a-github-actions-nightly-build-but-run-it-only-when-there-where + check_date: + runs-on: ubuntu-latest + name: Check latest commit + outputs: + should_run: ${{ steps.should_run.outputs.should_run }} + steps: + - uses: actions/checkout@v2 + - name: print latest_commit + run: echo ${{ github.sha }} + + - id: should_run + continue-on-error: true + name: check latest commit is less than a day + if: ${{ github.event_name == 'schedule' }} + run: test -z $(git rev-list --after="24 hours" ${{ github.sha }}) && echo "::set-output name=should_run::false" + nightly: + needs: check_date + if: ${{ needs.check_date.outputs.should_run != 'false' }} + runs-on: ubuntu-latest + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v3 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v3 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Setup project + run: ./bin/setup + - name: Run regression + run: ./do test:nightly diff --git a/.github/workflows/regress.yml b/.github/workflows/regress.yml index 742d918b6..9f3fa519c 100644 --- a/.github/workflows/regress.yml +++ b/.github/workflows/regress.yml @@ -5,8 +5,124 @@ on: - main workflow_dispatch: jobs: - regress: + regress-smoke: runs-on: ubuntu-latest + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v3 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v3 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Setup project + run: ./bin/setup + - name: Run smoke + run: ./do test:smoke + regress-gen-isa-manual: + runs-on: ubuntu-latest + needs: regress-smoke + env: + MANUAL_NAME: isa + VERSIONS: all + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v3 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v3 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Generate HTML ISA manual + run: ./do gen:html_manual + regress-gen-ext-pdf: + runs-on: ubuntu-latest + needs: regress-smoke + env: + EXT: B + VERSION: latest + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v3 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v3 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Generate extension PDF + run: ./do gen:ext_pdf + regress-gen-certificate: + runs-on: ubuntu-latest + needs: regress-smoke + steps: + - name: Clone Github Repo Action + uses: actions/checkout@v4 + - name: Setup apptainer + uses: eWaterCycle/setup-apptainer@v2.0.0 + - name: Get container from cache + id: cache-sif + uses: actions/cache@v3 + with: + path: .singularity/image.sif + key: ${{ hashFiles('container.def', 'bin/.container-tag') }} + - name: Get gems and node files from cache + id: cache-bundle-npm + uses: actions/cache@v3 + with: + path: | + .home/.gems + node_modules + key: ${{ hashFiles('Gemfile.lock') }}-${{ hashFiles('package-lock.json') }} + - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} + name: Build container + run: ./bin/build_container + - name: Generate extension PDF + run: ./do gen:cert_model_pdf[MockCertificateModel] + regress-gen-profile: + runs-on: ubuntu-latest + needs: regress-smoke steps: - name: Clone Github Repo Action uses: actions/checkout@v4 @@ -29,7 +145,5 @@ jobs: - if: ${{ steps.cache-sif.outputs.cache-hit != 'true' }} name: Build container run: ./bin/build_container - - name: Setup project - run: ./bin/setup - - name: Run regression - run: ./do regress + - name: Generate extension PDF + run: ./do gen:profile[MockProfileRelease] diff --git a/README.adoc b/README.adoc index 1aeb1753d..816a2fc4f 100644 --- a/README.adoc +++ b/README.adoc @@ -105,8 +105,8 @@ Quick start: ## examples -# validate against the schema -./do validate +# run smoke tests +./do test:smoke # generate all versions of ISA manual, as an Antora static website ./do gen:html_manual MANUAL_NAME=isa VERSIONS=all diff --git a/Rakefile b/Rakefile index 51a15e183..4a0c95e06 100644 --- a/Rakefile +++ b/Rakefile @@ -55,20 +55,22 @@ namespace :serve do end end -desc "Run the IDL compiler test suite" -task :idl_test do - t = Minitest::TestTask.new(:lib_test) - t.test_globs = ["#{$root}/lib/idl/tests/test_*.rb"] - t.process_env - ruby t.make_test_cmd -end +namespace :test do + # "Run the IDL compiler test suite" + task :idl_compiler do + t = Minitest::TestTask.new(:lib_test) + t.test_globs = ["#{$root}/lib/idl/tests/test_*.rb"] + t.process_env + ruby t.make_test_cmd + end -desc "Run the Ruby library test suite" -task :lib_test do - t = Minitest::TestTask.new(:lib_test) - t.test_globs = ["#{$root}/lib/test/test_*.rb"] - t.process_env - ruby t.make_test_cmd + # "Run the Ruby library test suite" + task :lib do + t = Minitest::TestTask.new(:lib_test) + t.test_globs = ["#{$root}/lib/test/test_*.rb"] + t.process_env + ruby t.make_test_cmd + end end desc "Clean up all generated files" @@ -77,7 +79,7 @@ task :clean do FileUtils.rm_rf $root / ".stamps" end -namespace :validate do +namespace :test do task :insts do puts "Checking instruction encodings..." inst_paths = Dir.glob("#{$root}/arch/inst/**/*.yaml").map { |f| Pathname.new(f) } @@ -95,9 +97,10 @@ namespace :validate do progressbar.increment validator.validate(f) end + Rake::Task["test:insts"].invoke puts "All files validate against their schema" end - task idl: ["gen:arch", "#{$root}/.stamps/arch-gen-_32.stamp", "#{$root}/.stamps/arch-gen-_64.stamp"] do + task idl_model: ["gen:arch", "#{$root}/.stamps/arch-gen-_32.stamp", "#{$root}/.stamps/arch-gen-_64.stamp"] do print "Parsing IDL code for RV32..." arch_def_32 = arch_def_for("_32") puts "done" @@ -114,9 +117,6 @@ namespace :validate do end end -desc "Validate the arch docs" -task validate: ["validate:schema", "validate:idl", "validate:insts"] - def insert_warning(str, from) # insert a warning on the second line lines = str.lines @@ -274,31 +274,60 @@ namespace :gen do end end -desc <<~DESC - Run the regression tests +namespace :test do + desc <<~DESC + Run smoke tests - These tests must pass before a commit will be allowed in the main branch on GitHub -DESC -task :regress do - Rake::Task["idl_test"].invoke - Rake::Task["lib_test"].invoke - Rake::Task["validate"].invoke - ENV["MANUAL_NAME"] = "isa" - ENV["VERSIONS"] = "all" - Rake::Task["gen:html_manual"].invoke - Rake::Task["gen:html"].invoke("generic_rv64") - ENV["EXT"] = "B" - ENV["VERSION"] = "latest" - Rake::Task["gen:ext_pdf"].invoke - Rake::Task["#{$root}/gen/certificate_doc/pdf/MockCertificateModel.pdf"].invoke - Rake::Task["#{$root}/gen/certificate_doc/pdf/MC100.pdf"].invoke - Rake::Task["#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf"].invoke - Rake::Task["#{$root}/gen/profile_doc/pdf/RVA20.pdf"].invoke - Rake::Task["#{$root}/gen/profile_doc/pdf/RVA22.pdf"].invoke - Rake::Task["#{$root}/gen/profile_doc/pdf/RVI20.pdf"].invoke + These are basic but fast-running tests to check the database and tools + DESC + task :smoke do + Rake::Task["test:idl_compiler"].invoke + Rake::Task["test:lib"].invoke + Rake::Task["test:schema"].invoke + Rake::Task["test:idl_model"].invoke + end - puts - puts "Regression test PASSED" + desc <<~DESC + Run the regression tests + + These tests must pass before a commit will be allowed in the main branch on GitHub + DESC + task :regress do + Rake::Task["test:smoke"].invoke + + ENV["MANUAL_NAME"] = "isa" + ENV["VERSIONS"] = "all" + Rake::Task["gen:html_manual"].invoke + + ENV["EXT"] = "B" + ENV["VERSION"] = "latest" + Rake::Task["gen:ext_pdf"].invoke + + Rake::Task["gen:html"].invoke("generic_rv64") + + Rake::Task["#{$root}/gen/certificate_doc/pdf/MockCertificateModel.pdf"].invoke + Rake::Task["#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf"].invoke + + puts + puts "Regression test PASSED" + end + + desc <<~DESC + Run the nightly regression tests + + Generally, this tries to build all artifacts + DESC + task :nightly do + Rake::Task["regress"].invoke + + Rake::Task["#{$root}/gen/certificate_doc/pdf/MC100.pdf"].invoke + Rake::Task["#{$root}/gen/profile_doc/pdf/RVA20.pdf"].invoke + Rake::Task["#{$root}/gen/profile_doc/pdf/RVA22.pdf"].invoke + Rake::Task["#{$root}/gen/profile_doc/pdf/RVI20.pdf"].invoke + + puts + puts "Nightly regression test PASSED" + end end desc <<~DESC @@ -354,4 +383,4 @@ task MockCertificateModel: "#{$root}/gen/certificate_doc/pdf/MockCertificateMode task RVI20: "#{$root}/gen/profile_doc/pdf/RVI20.pdf" task RVA20: "#{$root}/gen/profile_doc/pdf/RVA20.pdf" task RVA22: "#{$root}/gen/profile_doc/pdf/RVA22.pdf" -task MockProfileRelease: "#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf" \ No newline at end of file +task MockProfileRelease: "#{$root}/gen/profile_doc/pdf/MockProfileRelease.pdf" diff --git a/arch/csr/H/htinst.yaml b/arch/csr/H/htinst.yaml index 770bb92ec..f4a9df9e4 100644 --- a/arch/csr/H/htinst.yaml +++ b/arch/csr/H/htinst.yaml @@ -40,5 +40,5 @@ fields: return CsrFieldType::RO; } description: | - Exception-speicific information for a trap into HS-mode. + Exception-specific information for a trap into HS-mode. reset_value: UNDEFINED_LEGAL diff --git a/arch/csr/H/htval.yaml b/arch/csr/H/htval.yaml index ab6082082..39631dcfc 100644 --- a/arch/csr/H/htval.yaml +++ b/arch/csr/H/htval.yaml @@ -32,5 +32,5 @@ fields: return CsrFieldType::RO; } description: | - Exception-speicific information for a trap into M-mode. + Exception-specific information for a trap into M-mode. reset_value: UNDEFINED_LEGAL diff --git a/arch/csr/H/mtinst.yaml b/arch/csr/H/mtinst.yaml index 64a6af0a0..bbfff0cd3 100644 --- a/arch/csr/H/mtinst.yaml +++ b/arch/csr/H/mtinst.yaml @@ -40,5 +40,5 @@ fields: return CsrFieldType::RO; } description: | - Exception-speicific information for a trap into M-mode. + Exception-specific information for a trap into M-mode. reset_value: UNDEFINED_LEGAL diff --git a/arch/csr/H/mtval2.yaml b/arch/csr/H/mtval2.yaml index eb51a7bb4..03d5db862 100644 --- a/arch/csr/H/mtval2.yaml +++ b/arch/csr/H/mtval2.yaml @@ -33,5 +33,5 @@ fields: return CsrFieldType::RO; } description: | - Exception-speicific information for a trap into M-mode. + Exception-specific information for a trap into M-mode. reset_value: UNDEFINED_LEGAL diff --git a/arch/ext/Zcb.yaml b/arch/ext/Zcb.yaml new file mode 100644 index 000000000..53fb28e66 --- /dev/null +++ b/arch/ext/Zcb.yaml @@ -0,0 +1,42 @@ +# yaml-language-server: $schema=../../schemas/ext_schema.json + +$schema: "ext_schema.json#" +kind: extension +name: Zcb +long_name: Simple code-size saving instructions +description: | + Zcb has simple code-size saving instructions which are easy to implement on all CPUs. + All proposed encodings are currently reserved for all architectures, and have no conflicts with any existing extensions. + + The Zcb extension depends on the Zca extension. + + As shown on the individual instruction pages, many of the instructions in Zcb depend upon another extension being implemented. + For example, c.mul is only implemented if M or Zmmul is implemented, and c.sext.b is only implemented if Zbb is implemented. + +type: unprivileged +company: + name: RISC-V International + url: https://riscv.org +versions: +- version: "1.0.0" + state: ratified + ratification_date: 2023-04 + repositories: + - url: https://github.com/riscv/riscv-code-size-reduction + branch: main + contributors: + - name: Tariq Kurd + - name: Ibrahim Abu Kharmeh + - name: Torbjørn Viem Ness + - name: Matteo Perotti + - name: Nidal Faour + - name: Bill Traynor + - name: Rafael Sene + - name: Xinlong Wu + - name: sinan + - name: Jeremy Bennett + - name: Heda Chen + - name: Alasdair Armstrong + - name: Graeme Smecher + - name: Nicolas Brunie + - name: Jiawei diff --git a/arch/inst/B/rori.yaml b/arch/inst/B/rori.yaml index d6d41f042..1feba8327 100644 --- a/arch/inst/B/rori.yaml +++ b/arch/inst/B/rori.yaml @@ -12,7 +12,7 @@ definedBy: assembly: xd, xs1, shamt encoding: RV32: - match: 0110000----------101-----0110011 + match: 0110000----------101-----0010011 variables: - name: shamt location: 24-20 @@ -21,7 +21,7 @@ encoding: - name: rd location: 11-7 RV64: - match: 011000-----------101-----0110011 + match: 011000-----------101-----0010011 variables: - name: shamt location: 25-20 diff --git a/arch/inst/V/vloxseg2ei16.v.yaml b/arch/inst/V/vloxseg2ei16.v.yaml new file mode 100644 index 000000000..5aeb4b87b --- /dev/null +++ b/arch/inst/V/vloxseg2ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg2ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg2ei32.v.yaml b/arch/inst/V/vloxseg2ei32.v.yaml new file mode 100644 index 000000000..5300087df --- /dev/null +++ b/arch/inst/V/vloxseg2ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg2ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg2ei64.v.yaml b/arch/inst/V/vloxseg2ei64.v.yaml new file mode 100644 index 000000000..31f4736c5 --- /dev/null +++ b/arch/inst/V/vloxseg2ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg2ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg2ei8.v.yaml b/arch/inst/V/vloxseg2ei8.v.yaml new file mode 100644 index 000000000..fdbb69faf --- /dev/null +++ b/arch/inst/V/vloxseg2ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg2ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg3ei16.v.yaml b/arch/inst/V/vloxseg3ei16.v.yaml new file mode 100644 index 000000000..7564e9cbb --- /dev/null +++ b/arch/inst/V/vloxseg3ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg3ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg3ei32.v.yaml b/arch/inst/V/vloxseg3ei32.v.yaml new file mode 100644 index 000000000..c6519f8a4 --- /dev/null +++ b/arch/inst/V/vloxseg3ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg3ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg3ei64.v.yaml b/arch/inst/V/vloxseg3ei64.v.yaml new file mode 100644 index 000000000..fb86e732d --- /dev/null +++ b/arch/inst/V/vloxseg3ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg3ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg3ei8.v.yaml b/arch/inst/V/vloxseg3ei8.v.yaml new file mode 100644 index 000000000..5ca294825 --- /dev/null +++ b/arch/inst/V/vloxseg3ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg3ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg4ei16.v.yaml b/arch/inst/V/vloxseg4ei16.v.yaml new file mode 100644 index 000000000..1960fce8d --- /dev/null +++ b/arch/inst/V/vloxseg4ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg4ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg4ei32.v.yaml b/arch/inst/V/vloxseg4ei32.v.yaml new file mode 100644 index 000000000..d136ebbc1 --- /dev/null +++ b/arch/inst/V/vloxseg4ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg4ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg4ei64.v.yaml b/arch/inst/V/vloxseg4ei64.v.yaml new file mode 100644 index 000000000..296266ecc --- /dev/null +++ b/arch/inst/V/vloxseg4ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg4ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg4ei8.v.yaml b/arch/inst/V/vloxseg4ei8.v.yaml new file mode 100644 index 000000000..f59d7f753 --- /dev/null +++ b/arch/inst/V/vloxseg4ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg4ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg5ei16.v.yaml b/arch/inst/V/vloxseg5ei16.v.yaml new file mode 100644 index 000000000..3485edbd2 --- /dev/null +++ b/arch/inst/V/vloxseg5ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg5ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg5ei32.v.yaml b/arch/inst/V/vloxseg5ei32.v.yaml new file mode 100644 index 000000000..18afff163 --- /dev/null +++ b/arch/inst/V/vloxseg5ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg5ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg5ei64.v.yaml b/arch/inst/V/vloxseg5ei64.v.yaml new file mode 100644 index 000000000..dbd68647c --- /dev/null +++ b/arch/inst/V/vloxseg5ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg5ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg5ei8.v.yaml b/arch/inst/V/vloxseg5ei8.v.yaml new file mode 100644 index 000000000..c7014818a --- /dev/null +++ b/arch/inst/V/vloxseg5ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg5ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg6ei16.v.yaml b/arch/inst/V/vloxseg6ei16.v.yaml new file mode 100644 index 000000000..1657012d3 --- /dev/null +++ b/arch/inst/V/vloxseg6ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg6ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg6ei32.v.yaml b/arch/inst/V/vloxseg6ei32.v.yaml new file mode 100644 index 000000000..c6ac3fc24 --- /dev/null +++ b/arch/inst/V/vloxseg6ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg6ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg6ei64.v.yaml b/arch/inst/V/vloxseg6ei64.v.yaml new file mode 100644 index 000000000..2c0fc1603 --- /dev/null +++ b/arch/inst/V/vloxseg6ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg6ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg6ei8.v.yaml b/arch/inst/V/vloxseg6ei8.v.yaml new file mode 100644 index 000000000..5685617fa --- /dev/null +++ b/arch/inst/V/vloxseg6ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg6ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg7ei16.v.yaml b/arch/inst/V/vloxseg7ei16.v.yaml new file mode 100644 index 000000000..d250dad20 --- /dev/null +++ b/arch/inst/V/vloxseg7ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg7ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg7ei32.v.yaml b/arch/inst/V/vloxseg7ei32.v.yaml new file mode 100644 index 000000000..5013d140a --- /dev/null +++ b/arch/inst/V/vloxseg7ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg7ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg7ei64.v.yaml b/arch/inst/V/vloxseg7ei64.v.yaml new file mode 100644 index 000000000..7fe0ced84 --- /dev/null +++ b/arch/inst/V/vloxseg7ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg7ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg7ei8.v.yaml b/arch/inst/V/vloxseg7ei8.v.yaml new file mode 100644 index 000000000..e1c2ead11 --- /dev/null +++ b/arch/inst/V/vloxseg7ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg7ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg8ei16.v.yaml b/arch/inst/V/vloxseg8ei16.v.yaml new file mode 100644 index 000000000..df6f5db25 --- /dev/null +++ b/arch/inst/V/vloxseg8ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg8ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111011-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg8ei32.v.yaml b/arch/inst/V/vloxseg8ei32.v.yaml new file mode 100644 index 000000000..195c6ea1a --- /dev/null +++ b/arch/inst/V/vloxseg8ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg8ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111011-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg8ei64.v.yaml b/arch/inst/V/vloxseg8ei64.v.yaml new file mode 100644 index 000000000..f2747cd5b --- /dev/null +++ b/arch/inst/V/vloxseg8ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg8ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111011-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vloxseg8ei8.v.yaml b/arch/inst/V/vloxseg8ei8.v.yaml new file mode 100644 index 000000000..f0d5ec5f7 --- /dev/null +++ b/arch/inst/V/vloxseg8ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vloxseg8ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111011-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e16.v.yaml b/arch/inst/V/vlseg2e16.v.yaml new file mode 100644 index 000000000..a2cab4bab --- /dev/null +++ b/arch/inst/V/vlseg2e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e16ff.v.yaml b/arch/inst/V/vlseg2e16ff.v.yaml new file mode 100644 index 000000000..a4014b189 --- /dev/null +++ b/arch/inst/V/vlseg2e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e32.v.yaml b/arch/inst/V/vlseg2e32.v.yaml new file mode 100644 index 000000000..e5d3ae3c0 --- /dev/null +++ b/arch/inst/V/vlseg2e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e32ff.v.yaml b/arch/inst/V/vlseg2e32ff.v.yaml new file mode 100644 index 000000000..815814027 --- /dev/null +++ b/arch/inst/V/vlseg2e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e64.v.yaml b/arch/inst/V/vlseg2e64.v.yaml new file mode 100644 index 000000000..bfacab114 --- /dev/null +++ b/arch/inst/V/vlseg2e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e64ff.v.yaml b/arch/inst/V/vlseg2e64ff.v.yaml new file mode 100644 index 000000000..ed5c70bbe --- /dev/null +++ b/arch/inst/V/vlseg2e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e8.v.yaml b/arch/inst/V/vlseg2e8.v.yaml new file mode 100644 index 000000000..734ecbca9 --- /dev/null +++ b/arch/inst/V/vlseg2e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg2e8ff.v.yaml b/arch/inst/V/vlseg2e8ff.v.yaml new file mode 100644 index 000000000..848b4e8f7 --- /dev/null +++ b/arch/inst/V/vlseg2e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg2e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 001000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e16.v.yaml b/arch/inst/V/vlseg3e16.v.yaml new file mode 100644 index 000000000..0a8c6870a --- /dev/null +++ b/arch/inst/V/vlseg3e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e16ff.v.yaml b/arch/inst/V/vlseg3e16ff.v.yaml new file mode 100644 index 000000000..44472d70e --- /dev/null +++ b/arch/inst/V/vlseg3e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e32.v.yaml b/arch/inst/V/vlseg3e32.v.yaml new file mode 100644 index 000000000..080f21018 --- /dev/null +++ b/arch/inst/V/vlseg3e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e32ff.v.yaml b/arch/inst/V/vlseg3e32ff.v.yaml new file mode 100644 index 000000000..08bc7cb9d --- /dev/null +++ b/arch/inst/V/vlseg3e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e64.v.yaml b/arch/inst/V/vlseg3e64.v.yaml new file mode 100644 index 000000000..a73c8cab7 --- /dev/null +++ b/arch/inst/V/vlseg3e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e64ff.v.yaml b/arch/inst/V/vlseg3e64ff.v.yaml new file mode 100644 index 000000000..f6a23acb4 --- /dev/null +++ b/arch/inst/V/vlseg3e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e8.v.yaml b/arch/inst/V/vlseg3e8.v.yaml new file mode 100644 index 000000000..4679966e0 --- /dev/null +++ b/arch/inst/V/vlseg3e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg3e8ff.v.yaml b/arch/inst/V/vlseg3e8ff.v.yaml new file mode 100644 index 000000000..0474c4bb9 --- /dev/null +++ b/arch/inst/V/vlseg3e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg3e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 010000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e16.v.yaml b/arch/inst/V/vlseg4e16.v.yaml new file mode 100644 index 000000000..ad493e689 --- /dev/null +++ b/arch/inst/V/vlseg4e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e16ff.v.yaml b/arch/inst/V/vlseg4e16ff.v.yaml new file mode 100644 index 000000000..31acfb5a8 --- /dev/null +++ b/arch/inst/V/vlseg4e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e32.v.yaml b/arch/inst/V/vlseg4e32.v.yaml new file mode 100644 index 000000000..ac08fa060 --- /dev/null +++ b/arch/inst/V/vlseg4e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e32ff.v.yaml b/arch/inst/V/vlseg4e32ff.v.yaml new file mode 100644 index 000000000..03a02f42e --- /dev/null +++ b/arch/inst/V/vlseg4e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e64.v.yaml b/arch/inst/V/vlseg4e64.v.yaml new file mode 100644 index 000000000..8915697f5 --- /dev/null +++ b/arch/inst/V/vlseg4e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e64ff.v.yaml b/arch/inst/V/vlseg4e64ff.v.yaml new file mode 100644 index 000000000..8190586ee --- /dev/null +++ b/arch/inst/V/vlseg4e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e8.v.yaml b/arch/inst/V/vlseg4e8.v.yaml new file mode 100644 index 000000000..91c8f4b8a --- /dev/null +++ b/arch/inst/V/vlseg4e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg4e8ff.v.yaml b/arch/inst/V/vlseg4e8ff.v.yaml new file mode 100644 index 000000000..df6e6831e --- /dev/null +++ b/arch/inst/V/vlseg4e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg4e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 011000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e16.v.yaml b/arch/inst/V/vlseg5e16.v.yaml new file mode 100644 index 000000000..30f713959 --- /dev/null +++ b/arch/inst/V/vlseg5e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e16ff.v.yaml b/arch/inst/V/vlseg5e16ff.v.yaml new file mode 100644 index 000000000..15c3a245a --- /dev/null +++ b/arch/inst/V/vlseg5e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e32.v.yaml b/arch/inst/V/vlseg5e32.v.yaml new file mode 100644 index 000000000..13966d00b --- /dev/null +++ b/arch/inst/V/vlseg5e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e32ff.v.yaml b/arch/inst/V/vlseg5e32ff.v.yaml new file mode 100644 index 000000000..5bae35876 --- /dev/null +++ b/arch/inst/V/vlseg5e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e64.v.yaml b/arch/inst/V/vlseg5e64.v.yaml new file mode 100644 index 000000000..d87028734 --- /dev/null +++ b/arch/inst/V/vlseg5e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e64ff.v.yaml b/arch/inst/V/vlseg5e64ff.v.yaml new file mode 100644 index 000000000..7be6eb177 --- /dev/null +++ b/arch/inst/V/vlseg5e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e8.v.yaml b/arch/inst/V/vlseg5e8.v.yaml new file mode 100644 index 000000000..b0ed00bd0 --- /dev/null +++ b/arch/inst/V/vlseg5e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg5e8ff.v.yaml b/arch/inst/V/vlseg5e8ff.v.yaml new file mode 100644 index 000000000..80e2df81a --- /dev/null +++ b/arch/inst/V/vlseg5e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg5e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 100000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e16.v.yaml b/arch/inst/V/vlseg6e16.v.yaml new file mode 100644 index 000000000..0c051a999 --- /dev/null +++ b/arch/inst/V/vlseg6e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e16ff.v.yaml b/arch/inst/V/vlseg6e16ff.v.yaml new file mode 100644 index 000000000..54cc9196b --- /dev/null +++ b/arch/inst/V/vlseg6e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e32.v.yaml b/arch/inst/V/vlseg6e32.v.yaml new file mode 100644 index 000000000..888a5c837 --- /dev/null +++ b/arch/inst/V/vlseg6e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e32ff.v.yaml b/arch/inst/V/vlseg6e32ff.v.yaml new file mode 100644 index 000000000..a0637baed --- /dev/null +++ b/arch/inst/V/vlseg6e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e64.v.yaml b/arch/inst/V/vlseg6e64.v.yaml new file mode 100644 index 000000000..602d9974a --- /dev/null +++ b/arch/inst/V/vlseg6e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e64ff.v.yaml b/arch/inst/V/vlseg6e64ff.v.yaml new file mode 100644 index 000000000..f2629c19e --- /dev/null +++ b/arch/inst/V/vlseg6e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e8.v.yaml b/arch/inst/V/vlseg6e8.v.yaml new file mode 100644 index 000000000..a0180b971 --- /dev/null +++ b/arch/inst/V/vlseg6e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg6e8ff.v.yaml b/arch/inst/V/vlseg6e8ff.v.yaml new file mode 100644 index 000000000..b56808326 --- /dev/null +++ b/arch/inst/V/vlseg6e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg6e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 101000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e16.v.yaml b/arch/inst/V/vlseg7e16.v.yaml new file mode 100644 index 000000000..5851806e6 --- /dev/null +++ b/arch/inst/V/vlseg7e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e16ff.v.yaml b/arch/inst/V/vlseg7e16ff.v.yaml new file mode 100644 index 000000000..20954ba6c --- /dev/null +++ b/arch/inst/V/vlseg7e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e32.v.yaml b/arch/inst/V/vlseg7e32.v.yaml new file mode 100644 index 000000000..1cf2c3373 --- /dev/null +++ b/arch/inst/V/vlseg7e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e32ff.v.yaml b/arch/inst/V/vlseg7e32ff.v.yaml new file mode 100644 index 000000000..e395b063e --- /dev/null +++ b/arch/inst/V/vlseg7e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e64.v.yaml b/arch/inst/V/vlseg7e64.v.yaml new file mode 100644 index 000000000..05e162830 --- /dev/null +++ b/arch/inst/V/vlseg7e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e64ff.v.yaml b/arch/inst/V/vlseg7e64ff.v.yaml new file mode 100644 index 000000000..565aacb90 --- /dev/null +++ b/arch/inst/V/vlseg7e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e8.v.yaml b/arch/inst/V/vlseg7e8.v.yaml new file mode 100644 index 000000000..21de27f84 --- /dev/null +++ b/arch/inst/V/vlseg7e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg7e8ff.v.yaml b/arch/inst/V/vlseg7e8ff.v.yaml new file mode 100644 index 000000000..8eec8031c --- /dev/null +++ b/arch/inst/V/vlseg7e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg7e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 110000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e16.v.yaml b/arch/inst/V/vlseg8e16.v.yaml new file mode 100644 index 000000000..ec175bb37 --- /dev/null +++ b/arch/inst/V/vlseg8e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-00000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e16ff.v.yaml b/arch/inst/V/vlseg8e16ff.v.yaml new file mode 100644 index 000000000..7a99d2402 --- /dev/null +++ b/arch/inst/V/vlseg8e16ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e16ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-10000-----101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e32.v.yaml b/arch/inst/V/vlseg8e32.v.yaml new file mode 100644 index 000000000..79372ae84 --- /dev/null +++ b/arch/inst/V/vlseg8e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-00000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e32ff.v.yaml b/arch/inst/V/vlseg8e32ff.v.yaml new file mode 100644 index 000000000..9bd0906b5 --- /dev/null +++ b/arch/inst/V/vlseg8e32ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e32ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-10000-----110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e64.v.yaml b/arch/inst/V/vlseg8e64.v.yaml new file mode 100644 index 000000000..ed5befa23 --- /dev/null +++ b/arch/inst/V/vlseg8e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-00000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e64ff.v.yaml b/arch/inst/V/vlseg8e64ff.v.yaml new file mode 100644 index 000000000..af4e15d51 --- /dev/null +++ b/arch/inst/V/vlseg8e64ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e64ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-10000-----111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e8.v.yaml b/arch/inst/V/vlseg8e8.v.yaml new file mode 100644 index 000000000..e1937c9ac --- /dev/null +++ b/arch/inst/V/vlseg8e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-00000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlseg8e8ff.v.yaml b/arch/inst/V/vlseg8e8ff.v.yaml new file mode 100644 index 000000000..cb825c00e --- /dev/null +++ b/arch/inst/V/vlseg8e8ff.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlseg8e8ff.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vd +encoding: + match: 111000-10000-----000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg2e16.v.yaml b/arch/inst/V/vlsseg2e16.v.yaml new file mode 100644 index 000000000..691eb363b --- /dev/null +++ b/arch/inst/V/vlsseg2e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg2e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 001010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg2e32.v.yaml b/arch/inst/V/vlsseg2e32.v.yaml new file mode 100644 index 000000000..8f89e7887 --- /dev/null +++ b/arch/inst/V/vlsseg2e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg2e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 001010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg2e64.v.yaml b/arch/inst/V/vlsseg2e64.v.yaml new file mode 100644 index 000000000..fdce27802 --- /dev/null +++ b/arch/inst/V/vlsseg2e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg2e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 001010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg2e8.v.yaml b/arch/inst/V/vlsseg2e8.v.yaml new file mode 100644 index 000000000..7edea0e2a --- /dev/null +++ b/arch/inst/V/vlsseg2e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg2e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 001010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg3e16.v.yaml b/arch/inst/V/vlsseg3e16.v.yaml new file mode 100644 index 000000000..7f381ef3b --- /dev/null +++ b/arch/inst/V/vlsseg3e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg3e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 010010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg3e32.v.yaml b/arch/inst/V/vlsseg3e32.v.yaml new file mode 100644 index 000000000..ecb434806 --- /dev/null +++ b/arch/inst/V/vlsseg3e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg3e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 010010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg3e64.v.yaml b/arch/inst/V/vlsseg3e64.v.yaml new file mode 100644 index 000000000..94d3ad2f3 --- /dev/null +++ b/arch/inst/V/vlsseg3e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg3e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 010010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg3e8.v.yaml b/arch/inst/V/vlsseg3e8.v.yaml new file mode 100644 index 000000000..e9569dba2 --- /dev/null +++ b/arch/inst/V/vlsseg3e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg3e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 010010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg4e16.v.yaml b/arch/inst/V/vlsseg4e16.v.yaml new file mode 100644 index 000000000..3bb9ee4a7 --- /dev/null +++ b/arch/inst/V/vlsseg4e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg4e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 011010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg4e32.v.yaml b/arch/inst/V/vlsseg4e32.v.yaml new file mode 100644 index 000000000..e63f5c9e2 --- /dev/null +++ b/arch/inst/V/vlsseg4e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg4e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 011010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg4e64.v.yaml b/arch/inst/V/vlsseg4e64.v.yaml new file mode 100644 index 000000000..66f4af48a --- /dev/null +++ b/arch/inst/V/vlsseg4e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg4e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 011010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg4e8.v.yaml b/arch/inst/V/vlsseg4e8.v.yaml new file mode 100644 index 000000000..6e213656e --- /dev/null +++ b/arch/inst/V/vlsseg4e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg4e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 011010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg5e16.v.yaml b/arch/inst/V/vlsseg5e16.v.yaml new file mode 100644 index 000000000..9276507db --- /dev/null +++ b/arch/inst/V/vlsseg5e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg5e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 100010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg5e32.v.yaml b/arch/inst/V/vlsseg5e32.v.yaml new file mode 100644 index 000000000..2b41e5682 --- /dev/null +++ b/arch/inst/V/vlsseg5e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg5e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 100010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg5e64.v.yaml b/arch/inst/V/vlsseg5e64.v.yaml new file mode 100644 index 000000000..de46f05e9 --- /dev/null +++ b/arch/inst/V/vlsseg5e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg5e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 100010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg5e8.v.yaml b/arch/inst/V/vlsseg5e8.v.yaml new file mode 100644 index 000000000..c69373c6b --- /dev/null +++ b/arch/inst/V/vlsseg5e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg5e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 100010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg6e16.v.yaml b/arch/inst/V/vlsseg6e16.v.yaml new file mode 100644 index 000000000..f3773952c --- /dev/null +++ b/arch/inst/V/vlsseg6e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg6e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 101010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg6e32.v.yaml b/arch/inst/V/vlsseg6e32.v.yaml new file mode 100644 index 000000000..b610b0ff5 --- /dev/null +++ b/arch/inst/V/vlsseg6e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg6e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 101010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg6e64.v.yaml b/arch/inst/V/vlsseg6e64.v.yaml new file mode 100644 index 000000000..2db70cc53 --- /dev/null +++ b/arch/inst/V/vlsseg6e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg6e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 101010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg6e8.v.yaml b/arch/inst/V/vlsseg6e8.v.yaml new file mode 100644 index 000000000..0b849f331 --- /dev/null +++ b/arch/inst/V/vlsseg6e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg6e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 101010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg7e16.v.yaml b/arch/inst/V/vlsseg7e16.v.yaml new file mode 100644 index 000000000..ced663fe5 --- /dev/null +++ b/arch/inst/V/vlsseg7e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg7e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 110010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg7e32.v.yaml b/arch/inst/V/vlsseg7e32.v.yaml new file mode 100644 index 000000000..3b8367b12 --- /dev/null +++ b/arch/inst/V/vlsseg7e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg7e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 110010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg7e64.v.yaml b/arch/inst/V/vlsseg7e64.v.yaml new file mode 100644 index 000000000..658ed6a20 --- /dev/null +++ b/arch/inst/V/vlsseg7e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg7e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 110010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg7e8.v.yaml b/arch/inst/V/vlsseg7e8.v.yaml new file mode 100644 index 000000000..1884be49c --- /dev/null +++ b/arch/inst/V/vlsseg7e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg7e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 110010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg8e16.v.yaml b/arch/inst/V/vlsseg8e16.v.yaml new file mode 100644 index 000000000..3f9c32777 --- /dev/null +++ b/arch/inst/V/vlsseg8e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg8e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 111010-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg8e32.v.yaml b/arch/inst/V/vlsseg8e32.v.yaml new file mode 100644 index 000000000..895b19938 --- /dev/null +++ b/arch/inst/V/vlsseg8e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg8e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 111010-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg8e64.v.yaml b/arch/inst/V/vlsseg8e64.v.yaml new file mode 100644 index 000000000..74fbb37b1 --- /dev/null +++ b/arch/inst/V/vlsseg8e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg8e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 111010-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vlsseg8e8.v.yaml b/arch/inst/V/vlsseg8e8.v.yaml new file mode 100644 index 000000000..a04abb0a9 --- /dev/null +++ b/arch/inst/V/vlsseg8e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vlsseg8e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vd +encoding: + match: 111010-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg2ei16.v.yaml b/arch/inst/V/vluxseg2ei16.v.yaml new file mode 100644 index 000000000..0cedd4919 --- /dev/null +++ b/arch/inst/V/vluxseg2ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg2ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg2ei32.v.yaml b/arch/inst/V/vluxseg2ei32.v.yaml new file mode 100644 index 000000000..248a6014d --- /dev/null +++ b/arch/inst/V/vluxseg2ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg2ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg2ei64.v.yaml b/arch/inst/V/vluxseg2ei64.v.yaml new file mode 100644 index 000000000..aa44de53f --- /dev/null +++ b/arch/inst/V/vluxseg2ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg2ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg2ei8.v.yaml b/arch/inst/V/vluxseg2ei8.v.yaml new file mode 100644 index 000000000..47d086f24 --- /dev/null +++ b/arch/inst/V/vluxseg2ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg2ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 001001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg3ei16.v.yaml b/arch/inst/V/vluxseg3ei16.v.yaml new file mode 100644 index 000000000..63ead2f0b --- /dev/null +++ b/arch/inst/V/vluxseg3ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg3ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg3ei32.v.yaml b/arch/inst/V/vluxseg3ei32.v.yaml new file mode 100644 index 000000000..093273266 --- /dev/null +++ b/arch/inst/V/vluxseg3ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg3ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg3ei64.v.yaml b/arch/inst/V/vluxseg3ei64.v.yaml new file mode 100644 index 000000000..b5b036c66 --- /dev/null +++ b/arch/inst/V/vluxseg3ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg3ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg3ei8.v.yaml b/arch/inst/V/vluxseg3ei8.v.yaml new file mode 100644 index 000000000..d12058ae9 --- /dev/null +++ b/arch/inst/V/vluxseg3ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg3ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 010001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg4ei16.v.yaml b/arch/inst/V/vluxseg4ei16.v.yaml new file mode 100644 index 000000000..868d2bbe2 --- /dev/null +++ b/arch/inst/V/vluxseg4ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg4ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg4ei32.v.yaml b/arch/inst/V/vluxseg4ei32.v.yaml new file mode 100644 index 000000000..ebcbe075b --- /dev/null +++ b/arch/inst/V/vluxseg4ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg4ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg4ei64.v.yaml b/arch/inst/V/vluxseg4ei64.v.yaml new file mode 100644 index 000000000..91c3d60c5 --- /dev/null +++ b/arch/inst/V/vluxseg4ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg4ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg4ei8.v.yaml b/arch/inst/V/vluxseg4ei8.v.yaml new file mode 100644 index 000000000..fe4afd3e9 --- /dev/null +++ b/arch/inst/V/vluxseg4ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg4ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 011001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg5ei16.v.yaml b/arch/inst/V/vluxseg5ei16.v.yaml new file mode 100644 index 000000000..4a8948b02 --- /dev/null +++ b/arch/inst/V/vluxseg5ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg5ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg5ei32.v.yaml b/arch/inst/V/vluxseg5ei32.v.yaml new file mode 100644 index 000000000..c061b297a --- /dev/null +++ b/arch/inst/V/vluxseg5ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg5ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg5ei64.v.yaml b/arch/inst/V/vluxseg5ei64.v.yaml new file mode 100644 index 000000000..6cc02268a --- /dev/null +++ b/arch/inst/V/vluxseg5ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg5ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg5ei8.v.yaml b/arch/inst/V/vluxseg5ei8.v.yaml new file mode 100644 index 000000000..29c178c47 --- /dev/null +++ b/arch/inst/V/vluxseg5ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg5ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 100001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg6ei16.v.yaml b/arch/inst/V/vluxseg6ei16.v.yaml new file mode 100644 index 000000000..4d652a37f --- /dev/null +++ b/arch/inst/V/vluxseg6ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg6ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg6ei32.v.yaml b/arch/inst/V/vluxseg6ei32.v.yaml new file mode 100644 index 000000000..84ba75c8d --- /dev/null +++ b/arch/inst/V/vluxseg6ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg6ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg6ei64.v.yaml b/arch/inst/V/vluxseg6ei64.v.yaml new file mode 100644 index 000000000..69446e214 --- /dev/null +++ b/arch/inst/V/vluxseg6ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg6ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg6ei8.v.yaml b/arch/inst/V/vluxseg6ei8.v.yaml new file mode 100644 index 000000000..599231bca --- /dev/null +++ b/arch/inst/V/vluxseg6ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg6ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 101001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg7ei16.v.yaml b/arch/inst/V/vluxseg7ei16.v.yaml new file mode 100644 index 000000000..8bc62c8fa --- /dev/null +++ b/arch/inst/V/vluxseg7ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg7ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg7ei32.v.yaml b/arch/inst/V/vluxseg7ei32.v.yaml new file mode 100644 index 000000000..39b46639d --- /dev/null +++ b/arch/inst/V/vluxseg7ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg7ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg7ei64.v.yaml b/arch/inst/V/vluxseg7ei64.v.yaml new file mode 100644 index 000000000..83c4e97dd --- /dev/null +++ b/arch/inst/V/vluxseg7ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg7ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg7ei8.v.yaml b/arch/inst/V/vluxseg7ei8.v.yaml new file mode 100644 index 000000000..aebfab4e8 --- /dev/null +++ b/arch/inst/V/vluxseg7ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg7ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 110001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg8ei16.v.yaml b/arch/inst/V/vluxseg8ei16.v.yaml new file mode 100644 index 000000000..644010288 --- /dev/null +++ b/arch/inst/V/vluxseg8ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg8ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111001-----------101-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg8ei32.v.yaml b/arch/inst/V/vluxseg8ei32.v.yaml new file mode 100644 index 000000000..68b490bee --- /dev/null +++ b/arch/inst/V/vluxseg8ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg8ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111001-----------110-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg8ei64.v.yaml b/arch/inst/V/vluxseg8ei64.v.yaml new file mode 100644 index 000000000..d1b1bc738 --- /dev/null +++ b/arch/inst/V/vluxseg8ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg8ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111001-----------111-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vluxseg8ei8.v.yaml b/arch/inst/V/vluxseg8ei8.v.yaml new file mode 100644 index 000000000..2cce23a75 --- /dev/null +++ b/arch/inst/V/vluxseg8ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vluxseg8ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vd +encoding: + match: 111001-----------000-----0000111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vd + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg2ei16.v.yaml b/arch/inst/V/vsoxseg2ei16.v.yaml new file mode 100644 index 000000000..ac714ab24 --- /dev/null +++ b/arch/inst/V/vsoxseg2ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg2ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg2ei32.v.yaml b/arch/inst/V/vsoxseg2ei32.v.yaml new file mode 100644 index 000000000..28784077e --- /dev/null +++ b/arch/inst/V/vsoxseg2ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg2ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg2ei64.v.yaml b/arch/inst/V/vsoxseg2ei64.v.yaml new file mode 100644 index 000000000..5ff3e3093 --- /dev/null +++ b/arch/inst/V/vsoxseg2ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg2ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg2ei8.v.yaml b/arch/inst/V/vsoxseg2ei8.v.yaml new file mode 100644 index 000000000..f1e6c2b46 --- /dev/null +++ b/arch/inst/V/vsoxseg2ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg2ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg3ei16.v.yaml b/arch/inst/V/vsoxseg3ei16.v.yaml new file mode 100644 index 000000000..779e5b3ff --- /dev/null +++ b/arch/inst/V/vsoxseg3ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg3ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg3ei32.v.yaml b/arch/inst/V/vsoxseg3ei32.v.yaml new file mode 100644 index 000000000..ea66ccc72 --- /dev/null +++ b/arch/inst/V/vsoxseg3ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg3ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg3ei64.v.yaml b/arch/inst/V/vsoxseg3ei64.v.yaml new file mode 100644 index 000000000..bfd680779 --- /dev/null +++ b/arch/inst/V/vsoxseg3ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg3ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg3ei8.v.yaml b/arch/inst/V/vsoxseg3ei8.v.yaml new file mode 100644 index 000000000..f2ed7f223 --- /dev/null +++ b/arch/inst/V/vsoxseg3ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg3ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg4ei16.v.yaml b/arch/inst/V/vsoxseg4ei16.v.yaml new file mode 100644 index 000000000..5621b133a --- /dev/null +++ b/arch/inst/V/vsoxseg4ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg4ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg4ei32.v.yaml b/arch/inst/V/vsoxseg4ei32.v.yaml new file mode 100644 index 000000000..16968f060 --- /dev/null +++ b/arch/inst/V/vsoxseg4ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg4ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg4ei64.v.yaml b/arch/inst/V/vsoxseg4ei64.v.yaml new file mode 100644 index 000000000..04f00844d --- /dev/null +++ b/arch/inst/V/vsoxseg4ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg4ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg4ei8.v.yaml b/arch/inst/V/vsoxseg4ei8.v.yaml new file mode 100644 index 000000000..eff793012 --- /dev/null +++ b/arch/inst/V/vsoxseg4ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg4ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg5ei16.v.yaml b/arch/inst/V/vsoxseg5ei16.v.yaml new file mode 100644 index 000000000..3b5d82c7e --- /dev/null +++ b/arch/inst/V/vsoxseg5ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg5ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg5ei32.v.yaml b/arch/inst/V/vsoxseg5ei32.v.yaml new file mode 100644 index 000000000..6956fd4b8 --- /dev/null +++ b/arch/inst/V/vsoxseg5ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg5ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg5ei64.v.yaml b/arch/inst/V/vsoxseg5ei64.v.yaml new file mode 100644 index 000000000..ad4248d04 --- /dev/null +++ b/arch/inst/V/vsoxseg5ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg5ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg5ei8.v.yaml b/arch/inst/V/vsoxseg5ei8.v.yaml new file mode 100644 index 000000000..d0aec1c02 --- /dev/null +++ b/arch/inst/V/vsoxseg5ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg5ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg6ei16.v.yaml b/arch/inst/V/vsoxseg6ei16.v.yaml new file mode 100644 index 000000000..28ee6c458 --- /dev/null +++ b/arch/inst/V/vsoxseg6ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg6ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg6ei32.v.yaml b/arch/inst/V/vsoxseg6ei32.v.yaml new file mode 100644 index 000000000..c5ba2071a --- /dev/null +++ b/arch/inst/V/vsoxseg6ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg6ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg6ei64.v.yaml b/arch/inst/V/vsoxseg6ei64.v.yaml new file mode 100644 index 000000000..0b10f9133 --- /dev/null +++ b/arch/inst/V/vsoxseg6ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg6ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg6ei8.v.yaml b/arch/inst/V/vsoxseg6ei8.v.yaml new file mode 100644 index 000000000..17d875acc --- /dev/null +++ b/arch/inst/V/vsoxseg6ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg6ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg7ei16.v.yaml b/arch/inst/V/vsoxseg7ei16.v.yaml new file mode 100644 index 000000000..0206c3b38 --- /dev/null +++ b/arch/inst/V/vsoxseg7ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg7ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg7ei32.v.yaml b/arch/inst/V/vsoxseg7ei32.v.yaml new file mode 100644 index 000000000..5e338157e --- /dev/null +++ b/arch/inst/V/vsoxseg7ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg7ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg7ei64.v.yaml b/arch/inst/V/vsoxseg7ei64.v.yaml new file mode 100644 index 000000000..c0e2ef20d --- /dev/null +++ b/arch/inst/V/vsoxseg7ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg7ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg7ei8.v.yaml b/arch/inst/V/vsoxseg7ei8.v.yaml new file mode 100644 index 000000000..b12c9a079 --- /dev/null +++ b/arch/inst/V/vsoxseg7ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg7ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg8ei16.v.yaml b/arch/inst/V/vsoxseg8ei16.v.yaml new file mode 100644 index 000000000..9dc37142d --- /dev/null +++ b/arch/inst/V/vsoxseg8ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg8ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111011-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg8ei32.v.yaml b/arch/inst/V/vsoxseg8ei32.v.yaml new file mode 100644 index 000000000..4aa50321d --- /dev/null +++ b/arch/inst/V/vsoxseg8ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg8ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111011-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg8ei64.v.yaml b/arch/inst/V/vsoxseg8ei64.v.yaml new file mode 100644 index 000000000..404ff34a7 --- /dev/null +++ b/arch/inst/V/vsoxseg8ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg8ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111011-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsoxseg8ei8.v.yaml b/arch/inst/V/vsoxseg8ei8.v.yaml new file mode 100644 index 000000000..e27be1e85 --- /dev/null +++ b/arch/inst/V/vsoxseg8ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsoxseg8ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111011-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg2e16.v.yaml b/arch/inst/V/vsseg2e16.v.yaml new file mode 100644 index 000000000..6fcf05567 --- /dev/null +++ b/arch/inst/V/vsseg2e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg2e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 001000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg2e32.v.yaml b/arch/inst/V/vsseg2e32.v.yaml new file mode 100644 index 000000000..857a1c32c --- /dev/null +++ b/arch/inst/V/vsseg2e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg2e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 001000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg2e64.v.yaml b/arch/inst/V/vsseg2e64.v.yaml new file mode 100644 index 000000000..ed0d637b3 --- /dev/null +++ b/arch/inst/V/vsseg2e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg2e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 001000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg2e8.v.yaml b/arch/inst/V/vsseg2e8.v.yaml new file mode 100644 index 000000000..6e6b74761 --- /dev/null +++ b/arch/inst/V/vsseg2e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg2e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 001000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg3e16.v.yaml b/arch/inst/V/vsseg3e16.v.yaml new file mode 100644 index 000000000..9c6596610 --- /dev/null +++ b/arch/inst/V/vsseg3e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg3e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 010000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg3e32.v.yaml b/arch/inst/V/vsseg3e32.v.yaml new file mode 100644 index 000000000..d67eeb0eb --- /dev/null +++ b/arch/inst/V/vsseg3e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg3e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 010000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg3e64.v.yaml b/arch/inst/V/vsseg3e64.v.yaml new file mode 100644 index 000000000..4d0506f00 --- /dev/null +++ b/arch/inst/V/vsseg3e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg3e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 010000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg3e8.v.yaml b/arch/inst/V/vsseg3e8.v.yaml new file mode 100644 index 000000000..b2c604e67 --- /dev/null +++ b/arch/inst/V/vsseg3e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg3e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 010000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg4e16.v.yaml b/arch/inst/V/vsseg4e16.v.yaml new file mode 100644 index 000000000..aaa25044d --- /dev/null +++ b/arch/inst/V/vsseg4e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg4e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 011000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg4e32.v.yaml b/arch/inst/V/vsseg4e32.v.yaml new file mode 100644 index 000000000..b1c3ca1a9 --- /dev/null +++ b/arch/inst/V/vsseg4e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg4e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 011000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg4e64.v.yaml b/arch/inst/V/vsseg4e64.v.yaml new file mode 100644 index 000000000..d15d70a4f --- /dev/null +++ b/arch/inst/V/vsseg4e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg4e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 011000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg4e8.v.yaml b/arch/inst/V/vsseg4e8.v.yaml new file mode 100644 index 000000000..2daa99250 --- /dev/null +++ b/arch/inst/V/vsseg4e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg4e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 011000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg5e16.v.yaml b/arch/inst/V/vsseg5e16.v.yaml new file mode 100644 index 000000000..cc5f8611f --- /dev/null +++ b/arch/inst/V/vsseg5e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg5e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 100000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg5e32.v.yaml b/arch/inst/V/vsseg5e32.v.yaml new file mode 100644 index 000000000..a9e9df1c0 --- /dev/null +++ b/arch/inst/V/vsseg5e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg5e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 100000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg5e64.v.yaml b/arch/inst/V/vsseg5e64.v.yaml new file mode 100644 index 000000000..7f43ce73e --- /dev/null +++ b/arch/inst/V/vsseg5e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg5e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 100000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg5e8.v.yaml b/arch/inst/V/vsseg5e8.v.yaml new file mode 100644 index 000000000..aa3a30a97 --- /dev/null +++ b/arch/inst/V/vsseg5e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg5e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 100000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg6e16.v.yaml b/arch/inst/V/vsseg6e16.v.yaml new file mode 100644 index 000000000..a4b52768a --- /dev/null +++ b/arch/inst/V/vsseg6e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg6e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 101000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg6e32.v.yaml b/arch/inst/V/vsseg6e32.v.yaml new file mode 100644 index 000000000..c52e48bd0 --- /dev/null +++ b/arch/inst/V/vsseg6e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg6e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 101000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg6e64.v.yaml b/arch/inst/V/vsseg6e64.v.yaml new file mode 100644 index 000000000..3b8da0914 --- /dev/null +++ b/arch/inst/V/vsseg6e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg6e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 101000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg6e8.v.yaml b/arch/inst/V/vsseg6e8.v.yaml new file mode 100644 index 000000000..b9ba9d472 --- /dev/null +++ b/arch/inst/V/vsseg6e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg6e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 101000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg7e16.v.yaml b/arch/inst/V/vsseg7e16.v.yaml new file mode 100644 index 000000000..9c10d52f6 --- /dev/null +++ b/arch/inst/V/vsseg7e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg7e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 110000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg7e32.v.yaml b/arch/inst/V/vsseg7e32.v.yaml new file mode 100644 index 000000000..7167a70dc --- /dev/null +++ b/arch/inst/V/vsseg7e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg7e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 110000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg7e64.v.yaml b/arch/inst/V/vsseg7e64.v.yaml new file mode 100644 index 000000000..6872cf1e3 --- /dev/null +++ b/arch/inst/V/vsseg7e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg7e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 110000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg7e8.v.yaml b/arch/inst/V/vsseg7e8.v.yaml new file mode 100644 index 000000000..30772c55b --- /dev/null +++ b/arch/inst/V/vsseg7e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg7e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 110000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg8e16.v.yaml b/arch/inst/V/vsseg8e16.v.yaml new file mode 100644 index 000000000..84a60a143 --- /dev/null +++ b/arch/inst/V/vsseg8e16.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg8e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 111000-00000-----101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg8e32.v.yaml b/arch/inst/V/vsseg8e32.v.yaml new file mode 100644 index 000000000..82924389f --- /dev/null +++ b/arch/inst/V/vsseg8e32.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg8e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 111000-00000-----110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg8e64.v.yaml b/arch/inst/V/vsseg8e64.v.yaml new file mode 100644 index 000000000..84df8f104 --- /dev/null +++ b/arch/inst/V/vsseg8e64.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg8e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 111000-00000-----111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsseg8e8.v.yaml b/arch/inst/V/vsseg8e8.v.yaml new file mode 100644 index 000000000..86947bdb8 --- /dev/null +++ b/arch/inst/V/vsseg8e8.v.yaml @@ -0,0 +1,27 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsseg8e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs1, vs3 +encoding: + match: 111000-00000-----000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg2e16.v.yaml b/arch/inst/V/vssseg2e16.v.yaml new file mode 100644 index 000000000..3b1e6560c --- /dev/null +++ b/arch/inst/V/vssseg2e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg2e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 001010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg2e32.v.yaml b/arch/inst/V/vssseg2e32.v.yaml new file mode 100644 index 000000000..068297931 --- /dev/null +++ b/arch/inst/V/vssseg2e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg2e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 001010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg2e64.v.yaml b/arch/inst/V/vssseg2e64.v.yaml new file mode 100644 index 000000000..17af81de8 --- /dev/null +++ b/arch/inst/V/vssseg2e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg2e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 001010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg2e8.v.yaml b/arch/inst/V/vssseg2e8.v.yaml new file mode 100644 index 000000000..3f0c872a9 --- /dev/null +++ b/arch/inst/V/vssseg2e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg2e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 001010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg3e16.v.yaml b/arch/inst/V/vssseg3e16.v.yaml new file mode 100644 index 000000000..a2be5743f --- /dev/null +++ b/arch/inst/V/vssseg3e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg3e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 010010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg3e32.v.yaml b/arch/inst/V/vssseg3e32.v.yaml new file mode 100644 index 000000000..c23e342ee --- /dev/null +++ b/arch/inst/V/vssseg3e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg3e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 010010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg3e64.v.yaml b/arch/inst/V/vssseg3e64.v.yaml new file mode 100644 index 000000000..e42be34ad --- /dev/null +++ b/arch/inst/V/vssseg3e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg3e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 010010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg3e8.v.yaml b/arch/inst/V/vssseg3e8.v.yaml new file mode 100644 index 000000000..5ba1cabdd --- /dev/null +++ b/arch/inst/V/vssseg3e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg3e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 010010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg4e16.v.yaml b/arch/inst/V/vssseg4e16.v.yaml new file mode 100644 index 000000000..2dcf2c097 --- /dev/null +++ b/arch/inst/V/vssseg4e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg4e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 011010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg4e32.v.yaml b/arch/inst/V/vssseg4e32.v.yaml new file mode 100644 index 000000000..9152f5384 --- /dev/null +++ b/arch/inst/V/vssseg4e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg4e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 011010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg4e64.v.yaml b/arch/inst/V/vssseg4e64.v.yaml new file mode 100644 index 000000000..4f109fc9a --- /dev/null +++ b/arch/inst/V/vssseg4e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg4e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 011010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg4e8.v.yaml b/arch/inst/V/vssseg4e8.v.yaml new file mode 100644 index 000000000..73145dbdb --- /dev/null +++ b/arch/inst/V/vssseg4e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg4e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 011010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg5e16.v.yaml b/arch/inst/V/vssseg5e16.v.yaml new file mode 100644 index 000000000..e050b894f --- /dev/null +++ b/arch/inst/V/vssseg5e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg5e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 100010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg5e32.v.yaml b/arch/inst/V/vssseg5e32.v.yaml new file mode 100644 index 000000000..c380333f8 --- /dev/null +++ b/arch/inst/V/vssseg5e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg5e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 100010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg5e64.v.yaml b/arch/inst/V/vssseg5e64.v.yaml new file mode 100644 index 000000000..9c0013b3f --- /dev/null +++ b/arch/inst/V/vssseg5e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg5e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 100010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg5e8.v.yaml b/arch/inst/V/vssseg5e8.v.yaml new file mode 100644 index 000000000..368b767df --- /dev/null +++ b/arch/inst/V/vssseg5e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg5e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 100010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg6e16.v.yaml b/arch/inst/V/vssseg6e16.v.yaml new file mode 100644 index 000000000..88d3e887d --- /dev/null +++ b/arch/inst/V/vssseg6e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg6e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 101010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg6e32.v.yaml b/arch/inst/V/vssseg6e32.v.yaml new file mode 100644 index 000000000..443a44bb6 --- /dev/null +++ b/arch/inst/V/vssseg6e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg6e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 101010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg6e64.v.yaml b/arch/inst/V/vssseg6e64.v.yaml new file mode 100644 index 000000000..316883eff --- /dev/null +++ b/arch/inst/V/vssseg6e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg6e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 101010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg6e8.v.yaml b/arch/inst/V/vssseg6e8.v.yaml new file mode 100644 index 000000000..6421447d9 --- /dev/null +++ b/arch/inst/V/vssseg6e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg6e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 101010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg7e16.v.yaml b/arch/inst/V/vssseg7e16.v.yaml new file mode 100644 index 000000000..377909800 --- /dev/null +++ b/arch/inst/V/vssseg7e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg7e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 110010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg7e32.v.yaml b/arch/inst/V/vssseg7e32.v.yaml new file mode 100644 index 000000000..faaa0b21d --- /dev/null +++ b/arch/inst/V/vssseg7e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg7e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 110010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg7e64.v.yaml b/arch/inst/V/vssseg7e64.v.yaml new file mode 100644 index 000000000..5721de1cc --- /dev/null +++ b/arch/inst/V/vssseg7e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg7e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 110010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg7e8.v.yaml b/arch/inst/V/vssseg7e8.v.yaml new file mode 100644 index 000000000..466148402 --- /dev/null +++ b/arch/inst/V/vssseg7e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg7e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 110010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg8e16.v.yaml b/arch/inst/V/vssseg8e16.v.yaml new file mode 100644 index 000000000..fe68e03f6 --- /dev/null +++ b/arch/inst/V/vssseg8e16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg8e16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 111010-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg8e32.v.yaml b/arch/inst/V/vssseg8e32.v.yaml new file mode 100644 index 000000000..41ced6eef --- /dev/null +++ b/arch/inst/V/vssseg8e32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg8e32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 111010-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg8e64.v.yaml b/arch/inst/V/vssseg8e64.v.yaml new file mode 100644 index 000000000..3792410a3 --- /dev/null +++ b/arch/inst/V/vssseg8e64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg8e64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 111010-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vssseg8e8.v.yaml b/arch/inst/V/vssseg8e8.v.yaml new file mode 100644 index 000000000..c938f6444 --- /dev/null +++ b/arch/inst/V/vssseg8e8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vssseg8e8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, xs2, xs1, vs3 +encoding: + match: 111010-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: rs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg2ei16.v.yaml b/arch/inst/V/vsuxseg2ei16.v.yaml new file mode 100644 index 000000000..c87cde860 --- /dev/null +++ b/arch/inst/V/vsuxseg2ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg2ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg2ei32.v.yaml b/arch/inst/V/vsuxseg2ei32.v.yaml new file mode 100644 index 000000000..6a4aabb4d --- /dev/null +++ b/arch/inst/V/vsuxseg2ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg2ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg2ei64.v.yaml b/arch/inst/V/vsuxseg2ei64.v.yaml new file mode 100644 index 000000000..5e08c3e73 --- /dev/null +++ b/arch/inst/V/vsuxseg2ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg2ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg2ei8.v.yaml b/arch/inst/V/vsuxseg2ei8.v.yaml new file mode 100644 index 000000000..de8bb5551 --- /dev/null +++ b/arch/inst/V/vsuxseg2ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg2ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 001001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg3ei16.v.yaml b/arch/inst/V/vsuxseg3ei16.v.yaml new file mode 100644 index 000000000..160f074ea --- /dev/null +++ b/arch/inst/V/vsuxseg3ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg3ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg3ei32.v.yaml b/arch/inst/V/vsuxseg3ei32.v.yaml new file mode 100644 index 000000000..3c951c9c2 --- /dev/null +++ b/arch/inst/V/vsuxseg3ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg3ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg3ei64.v.yaml b/arch/inst/V/vsuxseg3ei64.v.yaml new file mode 100644 index 000000000..44e633dfd --- /dev/null +++ b/arch/inst/V/vsuxseg3ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg3ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg3ei8.v.yaml b/arch/inst/V/vsuxseg3ei8.v.yaml new file mode 100644 index 000000000..d4131bea1 --- /dev/null +++ b/arch/inst/V/vsuxseg3ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg3ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 010001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg4ei16.v.yaml b/arch/inst/V/vsuxseg4ei16.v.yaml new file mode 100644 index 000000000..5a2391424 --- /dev/null +++ b/arch/inst/V/vsuxseg4ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg4ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg4ei32.v.yaml b/arch/inst/V/vsuxseg4ei32.v.yaml new file mode 100644 index 000000000..de1b0e820 --- /dev/null +++ b/arch/inst/V/vsuxseg4ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg4ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg4ei64.v.yaml b/arch/inst/V/vsuxseg4ei64.v.yaml new file mode 100644 index 000000000..c1c358f12 --- /dev/null +++ b/arch/inst/V/vsuxseg4ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg4ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg4ei8.v.yaml b/arch/inst/V/vsuxseg4ei8.v.yaml new file mode 100644 index 000000000..a69f3e9e4 --- /dev/null +++ b/arch/inst/V/vsuxseg4ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg4ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 011001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg5ei16.v.yaml b/arch/inst/V/vsuxseg5ei16.v.yaml new file mode 100644 index 000000000..d151e28a4 --- /dev/null +++ b/arch/inst/V/vsuxseg5ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg5ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg5ei32.v.yaml b/arch/inst/V/vsuxseg5ei32.v.yaml new file mode 100644 index 000000000..81abe68b2 --- /dev/null +++ b/arch/inst/V/vsuxseg5ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg5ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg5ei64.v.yaml b/arch/inst/V/vsuxseg5ei64.v.yaml new file mode 100644 index 000000000..266d10512 --- /dev/null +++ b/arch/inst/V/vsuxseg5ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg5ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg5ei8.v.yaml b/arch/inst/V/vsuxseg5ei8.v.yaml new file mode 100644 index 000000000..522b019a4 --- /dev/null +++ b/arch/inst/V/vsuxseg5ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg5ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 100001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg6ei16.v.yaml b/arch/inst/V/vsuxseg6ei16.v.yaml new file mode 100644 index 000000000..2d29c3d2d --- /dev/null +++ b/arch/inst/V/vsuxseg6ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg6ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg6ei32.v.yaml b/arch/inst/V/vsuxseg6ei32.v.yaml new file mode 100644 index 000000000..3f52d6f71 --- /dev/null +++ b/arch/inst/V/vsuxseg6ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg6ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg6ei64.v.yaml b/arch/inst/V/vsuxseg6ei64.v.yaml new file mode 100644 index 000000000..9da3f96c5 --- /dev/null +++ b/arch/inst/V/vsuxseg6ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg6ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg6ei8.v.yaml b/arch/inst/V/vsuxseg6ei8.v.yaml new file mode 100644 index 000000000..a2d74f76c --- /dev/null +++ b/arch/inst/V/vsuxseg6ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg6ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 101001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg7ei16.v.yaml b/arch/inst/V/vsuxseg7ei16.v.yaml new file mode 100644 index 000000000..aaf2ae980 --- /dev/null +++ b/arch/inst/V/vsuxseg7ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg7ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg7ei32.v.yaml b/arch/inst/V/vsuxseg7ei32.v.yaml new file mode 100644 index 000000000..0aa35c109 --- /dev/null +++ b/arch/inst/V/vsuxseg7ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg7ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg7ei64.v.yaml b/arch/inst/V/vsuxseg7ei64.v.yaml new file mode 100644 index 000000000..da607c1c3 --- /dev/null +++ b/arch/inst/V/vsuxseg7ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg7ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg7ei8.v.yaml b/arch/inst/V/vsuxseg7ei8.v.yaml new file mode 100644 index 000000000..003994175 --- /dev/null +++ b/arch/inst/V/vsuxseg7ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg7ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 110001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg8ei16.v.yaml b/arch/inst/V/vsuxseg8ei16.v.yaml new file mode 100644 index 000000000..d9894ceb2 --- /dev/null +++ b/arch/inst/V/vsuxseg8ei16.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg8ei16.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111001-----------101-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg8ei32.v.yaml b/arch/inst/V/vsuxseg8ei32.v.yaml new file mode 100644 index 000000000..bfbe6a963 --- /dev/null +++ b/arch/inst/V/vsuxseg8ei32.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg8ei32.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111001-----------110-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg8ei64.v.yaml b/arch/inst/V/vsuxseg8ei64.v.yaml new file mode 100644 index 000000000..c7e171677 --- /dev/null +++ b/arch/inst/V/vsuxseg8ei64.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg8ei64.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111001-----------111-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/V/vsuxseg8ei8.v.yaml b/arch/inst/V/vsuxseg8ei8.v.yaml new file mode 100644 index 000000000..225b9ce8b --- /dev/null +++ b/arch/inst/V/vsuxseg8ei8.v.yaml @@ -0,0 +1,29 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: inst_schema.json# +kind: instruction +name: vsuxseg8ei8.v +long_name: No synopsis available. +description: | + No description available. +definedBy: V +assembly: vm, vs2, xs1, vs3 +encoding: + match: 111001-----------000-----0100111 + variables: + - name: vm + location: 25-25 + - name: vs2 + location: 24-20 + - name: rs1 + location: 19-15 + - name: vs3 + location: 11-7 +access: + s: always + u: always + vs: always + vu: always +data_independent_timing: false +operation(): | + diff --git a/arch/inst/Zcb/c.lbu.yaml b/arch/inst/Zcb/c.lbu.yaml new file mode 100644 index 000000000..b521eb886 --- /dev/null +++ b/arch/inst/Zcb/c.lbu.yaml @@ -0,0 +1,65 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.lbu +long_name: Load unsigned byte, 16-bit encoding +description: | + Loads a 8-bit value from memory into register rd. + It computes an effective address by adding the zero-extended offset, to the base address in register rs1. + It expands to `lbu` `rd, offset(rs1)`. +definedBy: + anyOf: + - Zcb + - Zce +assembly: xd, imm(xs1) +encoding: + match: 100000--------00 + variables: + - name: imm + location: 5|6 + - name: rd + location: 4-2 + - name: rs1 + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + XReg virtual_address = X[rs1+8] + imm; + + X[rd+8] = zext(read_memory<8>(virtual_address, $encoding), 8); + +sail(): | + { + let offset : xlenbits = zero_extend(imm); + /* Get the address, X(rs1c) + offset. + Some extensions perform additional checks on address validity. */ + match ext_data_get_addr(rs1c, offset, Read(Data), width) { + Ext_DataAddr_Error(e) => { ext_handle_data_check_error(e); RETIRE_FAIL }, + Ext_DataAddr_OK(vaddr) => + if check_misaligned(vaddr, width) + then { handle_mem_exception(vaddr, E_Load_Addr_Align()); RETIRE_FAIL } + else match translateAddr(vaddr, Read(Data)) { + TR_Failure(e, _) => { handle_mem_exception(vaddr, e); RETIRE_FAIL }, + TR_Address(paddr, _) => + match (width) { + BYTE => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 1, aq, rl, false), is_unsigned), + HALF => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 2, aq, rl, false), is_unsigned), + WORD => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 4, aq, rl, false), is_unsigned), + DOUBLE if sizeof(xlen) >= 64 => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 8, aq, rl, false), is_unsigned), + _ => report_invalid_width(__FILE__, __LINE__, width, "load") + } + } + } + } diff --git a/arch/inst/Zcb/c.lh.yaml b/arch/inst/Zcb/c.lh.yaml new file mode 100644 index 000000000..938bf6936 --- /dev/null +++ b/arch/inst/Zcb/c.lh.yaml @@ -0,0 +1,66 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.lh +long_name: Load signed halfword, 16-bit encoding +description: | + Loads a 16-bit value from memory into register rd. + It computes an effective address by adding the zero-extended offset, to the base address in register rs1. + It expands to `lh` `rd, offset(rs1)`. +definedBy: + anyOf: + - Zcb + - Zce +assembly: xd, imm(xs1) +encoding: + match: 100001---1----00 + variables: + - name: imm + location: 5 + left_shift: 1 + - name: rd + location: 4-2 + - name: rs1 + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + XReg virtual_address = X[rs1+8] + imm; + + X[rd+8] = sext(read_memory<16>(virtual_address, $encoding), 16); + +sail(): | + { + let offset : xlenbits = zero_extend(imm); + /* Get the address, X(rs1c) + offset. + Some extensions perform additional checks on address validity. */ + match ext_data_get_addr(rs1c, offset, Read(Data), width) { + Ext_DataAddr_Error(e) => { ext_handle_data_check_error(e); RETIRE_FAIL }, + Ext_DataAddr_OK(vaddr) => + if check_misaligned(vaddr, width) + then { handle_mem_exception(vaddr, E_Load_Addr_Align()); RETIRE_FAIL } + else match translateAddr(vaddr, Read(Data)) { + TR_Failure(e, _) => { handle_mem_exception(vaddr, e); RETIRE_FAIL }, + TR_Address(paddr, _) => + match (width) { + BYTE => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 1, aq, rl, false), is_unsigned), + HALF => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 2, aq, rl, false), is_unsigned), + WORD => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 4, aq, rl, false), is_unsigned), + DOUBLE if sizeof(xlen) >= 64 => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 8, aq, rl, false), is_unsigned), + _ => report_invalid_width(__FILE__, __LINE__, width, "load") + } + } + } + } diff --git a/arch/inst/Zcb/c.lhu.yaml b/arch/inst/Zcb/c.lhu.yaml new file mode 100644 index 000000000..e4567e26e --- /dev/null +++ b/arch/inst/Zcb/c.lhu.yaml @@ -0,0 +1,66 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.lhu +long_name: Load unsigned halfword, 16-bit encoding +description: | + Loads a 16-bit value from memory into register rd. + It computes an effective address by adding the zero-extended offset, to the base address in register rs1. + It expands to `lhu` `rd, offset(rs1)`. +definedBy: + anyOf: + - Zcb + - Zce +assembly: xd, imm(xs1) +encoding: + match: 100001---0----00 + variables: + - name: imm + location: 5 + left_shift: 1 + - name: rd + location: 4-2 + - name: rs1 + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + XReg virtual_address = X[rs1+8] + imm; + + X[rd+8] = zext(read_memory<16>(virtual_address, $encoding), 16); + +sail(): | + { + let offset : xlenbits = zero_extend(imm); + /* Get the address, X(rs1c) + offset. + Some extensions perform additional checks on address validity. */ + match ext_data_get_addr(rs1c, offset, Read(Data), width) { + Ext_DataAddr_Error(e) => { ext_handle_data_check_error(e); RETIRE_FAIL }, + Ext_DataAddr_OK(vaddr) => + if check_misaligned(vaddr, width) + then { handle_mem_exception(vaddr, E_Load_Addr_Align()); RETIRE_FAIL } + else match translateAddr(vaddr, Read(Data)) { + TR_Failure(e, _) => { handle_mem_exception(vaddr, e); RETIRE_FAIL }, + TR_Address(paddr, _) => + match (width) { + BYTE => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 1, aq, rl, false), is_unsigned), + HALF => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 2, aq, rl, false), is_unsigned), + WORD => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 4, aq, rl, false), is_unsigned), + DOUBLE if sizeof(xlen) >= 64 => + process_load(rdc, vaddr, mem_read(Read(Data), paddr, 8, aq, rl, false), is_unsigned), + _ => report_invalid_width(__FILE__, __LINE__, width, "load") + } + } + } + } diff --git a/arch/inst/Zcb/c.mul.yaml b/arch/inst/Zcb/c.mul.yaml new file mode 100644 index 000000000..60f22a711 --- /dev/null +++ b/arch/inst/Zcb/c.mul.yaml @@ -0,0 +1,48 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.mul +long_name: Multiply, 16-bit encoding +description: | + This instruction multiplies XLEN bits of the source operands from rsd' and rs2' and writes the lowest XLEN bits of the result to rsd'. + +definedBy: + allOf: + - Zcb + - Zmmul +assembly: xd, xs2 +encoding: + match: 100111---10---01 + variables: + - name: rd + location: 9-7 + - name: rs2 + location: 4-2 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::M) && (CSR[misa].M == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = X[rd+8] * X[rs2+8]; + +sail(): | + { + let result_wide = to_bits(2 * sizeof(xlen), signed(X(rsdc)) * signed(X(rs2c))); + X(rsdc) = result_wide[(sizeof(xlen) - 1) .. 0]; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.not.yaml b/arch/inst/Zcb/c.not.yaml new file mode 100644 index 000000000..2b1ac3651 --- /dev/null +++ b/arch/inst/Zcb/c.not.yaml @@ -0,0 +1,42 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.not +long_name: Bitwise not, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + This instruction takes the one’s complement of rd'/rs1' and writes the result to the same register. + +definedBy: + anyOf: + - Zcb + - Zce +assembly: xd +encoding: + match: 100111---1110101 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = ~X[rd+8]; + +sail(): | + { + X(rsdc) = X(rsdc) XOR -1; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.sb.yaml b/arch/inst/Zcb/c.sb.yaml new file mode 100644 index 000000000..95512638b --- /dev/null +++ b/arch/inst/Zcb/c.sb.yaml @@ -0,0 +1,37 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.sb +long_name: Store unsigned byte, 16-bit encoding +description: | + Stores a 8-bit value from register rs2 into memory. + It computes an effective address by adding the zero-extended offset, to the base address in register rs1. + It expands to `sb` `rs2, offset(rs1)`. +definedBy: + anyOf: + - Zcb + - Zce +assembly: xs2, imm(xs1) +encoding: + match: 100010--------00 + variables: + - name: imm + location: 5|6 + - name: rs2 + location: 4-2 + - name: rs1 + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + XReg virtual_address = X[rs1+8] + imm; + + write_memory<8>(virtual_address, X[rs2+8][7:0], $encoding); diff --git a/arch/inst/Zcb/c.sext.b.yaml b/arch/inst/Zcb/c.sext.b.yaml new file mode 100644 index 000000000..f7d368af7 --- /dev/null +++ b/arch/inst/Zcb/c.sext.b.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.sext.b +long_name: Sign-extend byte, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + This instruction sign-extends the least-significant byte of the source to XLEN by copying + the most-significant bit in the byte (i.e., bit 7) to all of the more-significant bits. + +definedBy: + allOf: + - Zcb + - Zbb +assembly: xd +encoding: + match: 100111---1100101 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = sext(X[rd+8][15:0],8); + +sail(): | + { + let rs1_val = X(rsdc); + let result : xlenbits = match op { + RISCV_SEXTB => sign_extend(rs1_val[7..0]), + RISCV_SEXTH => sign_extend(rs1_val[15..0]), + RISCV_ZEXTB => zero_extend(rs1_val[7..0]), + RISCV_ZEXTH => zero_extend(rs1_val[15..0]), + RISCV_ZEXTW => zero_extend(rs1_val[31..0]) + }; + X(rsdc) = result; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.sext.h.yaml b/arch/inst/Zcb/c.sext.h.yaml new file mode 100644 index 000000000..23e181f5f --- /dev/null +++ b/arch/inst/Zcb/c.sext.h.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.sext.h +long_name: Sign-extend halfword, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + This instruction sign-extends the least-significant halfword of the source to XLEN by copying + the most-significant bit in the halfword (i.e., bit 15) to all of the more-significant bits. + +definedBy: + allOf: + - Zcb + - Zbb +assembly: xd +encoding: + match: 100111---1101101 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = sext(X[rd+8][15:0],16); + +sail(): | + { + let rs1_val = X(rsdc); + let result : xlenbits = match op { + RISCV_SEXTB => sign_extend(rs1_val[7..0]), + RISCV_SEXTH => sign_extend(rs1_val[15..0]), + RISCV_ZEXTB => zero_extend(rs1_val[7..0]), + RISCV_ZEXTH => zero_extend(rs1_val[15..0]), + RISCV_ZEXTW => zero_extend(rs1_val[31..0]) + }; + X(rsdc) = result; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.sh.yaml b/arch/inst/Zcb/c.sh.yaml new file mode 100644 index 000000000..eeb0d9511 --- /dev/null +++ b/arch/inst/Zcb/c.sh.yaml @@ -0,0 +1,38 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.sh +long_name: Store unsigned halfword, 16-bit encoding +description: | + Stores a 16-bit value from register rs2 into memory. + It computes an effective address by adding the zero-extended offset, to the base address in register rs1. + It expands to `sh` `rs2, offset(rs1)`. +definedBy: + anyOf: + - Zcb + - Zce +assembly: xs2, imm(xs1) +encoding: + match: 100011---0----00 + variables: + - name: imm + location: 5 + left_shift: 1 + - name: rs2 + location: 4-2 + - name: rs1 + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + XReg virtual_address = X[rs1+8] + imm; + + write_memory<16>(virtual_address, X[rs2+8][15:0], $encoding); diff --git a/arch/inst/Zcb/c.zext.b.yaml b/arch/inst/Zcb/c.zext.b.yaml new file mode 100644 index 000000000..a59b37ac6 --- /dev/null +++ b/arch/inst/Zcb/c.zext.b.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.zext.b +long_name: Zero-extend byte, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + This instruction zero-extends the least-significant byte of the source to XLEN by inserting + 0's into all of the bits more significant than 7. + +definedBy: + allOf: + - Zcb + - Zbb +assembly: xd +encoding: + match: 100111---1100001 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = X[rd+8][7:0]; + +sail(): | + { + let rs1_val = X(rsdc); + let result : xlenbits = match op { + RISCV_SEXTB => sign_extend(rs1_val[7..0]), + RISCV_SEXTH => sign_extend(rs1_val[15..0]), + RISCV_ZEXTB => zero_extend(rs1_val[7..0]), + RISCV_ZEXTH => zero_extend(rs1_val[15..0]), + RISCV_ZEXTW => zero_extend(rs1_val[31..0]) + }; + X(rsdc) = result; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.zext.h.yaml b/arch/inst/Zcb/c.zext.h.yaml new file mode 100644 index 000000000..2be0b9bf3 --- /dev/null +++ b/arch/inst/Zcb/c.zext.h.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.zext.h +long_name: Zero-extend halfword, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + This instruction zero-extends the least-significant halfword of the source to XLEN by inserting + 0's into all of the bits more significant than 15. + +definedBy: + allOf: + - Zcb + - Zbb +assembly: xd +encoding: + match: 100111---1101001 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = X[rd+8][15:0]; + +sail(): | + { + let rs1_val = X(rsdc); + let result : xlenbits = match op { + RISCV_SEXTB => sign_extend(rs1_val[7..0]), + RISCV_SEXTH => sign_extend(rs1_val[15..0]), + RISCV_ZEXTB => zero_extend(rs1_val[7..0]), + RISCV_ZEXTH => zero_extend(rs1_val[15..0]), + RISCV_ZEXTW => zero_extend(rs1_val[31..0]) + }; + X(rsdc) = result; + RETIRE_SUCCESS + } + + + + diff --git a/arch/inst/Zcb/c.zext.w.yaml b/arch/inst/Zcb/c.zext.w.yaml new file mode 100644 index 000000000..fc892c6bf --- /dev/null +++ b/arch/inst/Zcb/c.zext.w.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=../../../schemas/inst_schema.json + +$schema: "inst_schema.json#" +kind: instruction +name: c.zext.w +long_name: Zero-extend word, 16-bit encoding +description: | + This instruction takes a single source/destination operand. + It zero-extends the least-significant word of the operand to XLEN bits by inserting zeros into all of the bits more significant than 31. + +definedBy: + allOf: + - Zcb + - Zbb +assembly: xd +base: 64 +encoding: + match: 100111---1110001 + variables: + - name: rd + location: 9-7 +access: + s: always + u: always + vs: always + vu: always +operation(): | + + if (implemented?(ExtensionName::B) && (CSR[misa].B == 1'b0)) { + raise (ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + if (implemented?(ExtensionName::C) && (CSR[misa].C == 1'b0)) { + raise(ExceptionCode::IllegalInstruction, mode(), $encoding); + } + + X[rd+8] = X[rd+8][31:0]; + +sail(): | + { + let rs1_val = X(rsdc); + let result : xlenbits = match op { + RISCV_SEXTB => sign_extend(rs1_val[7..0]), + RISCV_SEXTH => sign_extend(rs1_val[15..0]), + RISCV_ZEXTB => zero_extend(rs1_val[7..0]), + RISCV_ZEXTH => zero_extend(rs1_val[15..0]), + RISCV_ZEXTW => zero_extend(rs1_val[31..0]) + }; + X(rsdc) = result; + RETIRE_SUCCESS + } + + + + diff --git a/backends/arch_gen/tasks.rake b/backends/arch_gen/tasks.rake index 6515e54f5..e8ebbf40d 100644 --- a/backends/arch_gen/tasks.rake +++ b/backends/arch_gen/tasks.rake @@ -168,13 +168,14 @@ namespace :gen do end end -namespace :validate do - desc "Validate that a configuration folder valid for the list of extensions it claims to implement" - task :cfg, [:config_name] do |_t, args| - raise "No config '#{args[:config_name]}' found in cfgs/" unless ($root / "cfgs" / args[:config_name]).directory? +# TODO: Add this back once we settle on the config file format +# namespace :validate do +# desc "Validate that a configuration folder valid for the list of extensions it claims to implement" +# task :cfg, [:config_name] do |_t, args| +# raise "No config '#{args[:config_name]}' found in cfgs/" unless ($root / "cfgs" / args[:config_name]).directory? - ArchGen.new(args[:config_name]).validate_params +# ArchGen.new(args[:config_name]).validate_params - puts "Success! The '#{args[:config_name]}' configuration passes validation checks" - end -end +# puts "Success! The '#{args[:config_name]}' configuration passes validation checks" +# end +# end diff --git a/schemas/ext_schema.json b/schemas/ext_schema.json index 8c281c4e6..724e93128 100644 --- a/schemas/ext_schema.json +++ b/schemas/ext_schema.json @@ -147,7 +147,8 @@ }, "ratification_date": { "oneOf": [ - {"type": "string", "pattern": "^20[0-9][0-9]-[0-9][0-9]$", "$comment": "When ratification date is known" }, + {"type": "string", "pattern": "^20[0-9][0-9]-(0[1-9]|1[0-2])$", "$comment": "When ratification date is known", + "description": "A specific year and month in YYYY-MM format", "examples": ["2019-01", "2024-12"] }, {"type": "string", "pattern": "^unknown$", "$comment": "When ratification date is unknown" }, {"type": "null", "$comment": "When version isn't ratified" } ] diff --git a/schemas/schema_defs.json b/schemas/schema_defs.json index 57c886132..1b954ba32 100644 --- a/schemas/schema_defs.json +++ b/schemas/schema_defs.json @@ -80,7 +80,8 @@ "date": { "type": "string", "format": "date", - "description": "A specific day in YYYY-MM-DD format, for example 2018-11-13" + "description": "A specific day in YYYY-MM-DD format", + "examples": ["2018-11-13", "2024-12-31"] }, "extension_name": { "type": "string", @@ -91,7 +92,7 @@ }, "requirement_string": { "type": "string", - "pattern": "^((>=)|(>)|(~>)|(<)|(<=)|(=))\\s*[0-9]+(\\.[0-9]+(\\.[0-9]+(-[a-fA-F0-9]+)?)?)?$" + "pattern": "^((>=)|(>)|(~>)|(<)|(<=)|(=))?\\s*[0-9]+(\\.[0-9]+(\\.[0-9]+(-[a-fA-F0-9]+)?)?)?$" }, "version_requirements": { "description": "A (set of) version requirements",