llvm-project/llvm/test/MC/RISCV
Hsiangkai Wang 66da87dcba [RISCV] Assemble/Disassemble v-ext instructions.
Assemble/disassemble RISC-V V extension instructions according to
latest version spec in https://github.com/riscv/riscv-v-spec/.

I have tested this patch using GNU toolchain. The encoding is aligned
to GNU assembler output. In this patch, there is a test case for each
instruction at least.

The V register definition is just for assemble/disassemble. Its type
is not important in this stage. I think it will be reviewed and modified
as we want to do codegen for scalable vector types.

This patch does not include Zvamo, Zvlsseg, and Zvediv.

Differential revision: https://reviews.llvm.org/D69987
2020-06-28 00:54:07 +08:00
..
rvv [RISCV] Assemble/Disassemble v-ext instructions. 2020-06-28 00:54:07 +08:00
align.s [MC] De-capitalize another set of MCStreamer::Emit* functions 2020-02-14 19:26:52 -08:00
attribute-arch.s [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
attribute-with-insts.s [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
attribute-with-option.s [RISCV] Support RISC-V ELF attributes sections in llvm-readobj. 2020-04-01 21:50:11 +08:00
attribute.s [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
cfi-regs-invalid.s
cfi-regs-valid.s
cnop.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compress-cjal.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compress-debug-info.s [RISCV] Move DebugLoc Copy into CompressInstEmitter 2019-12-13 20:01:04 +00:00
compress-rv32b.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
compress-rv32d.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compress-rv32f.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compress-rv32i.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compress-rv64b.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
compress-rv64i.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
compressed-relocations.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
csr-aliases.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
data-directives-invalid.s
data-directives-valid.s
debug-valid.s [RISCV] Add instruction definition for dret 2020-04-24 13:27:43 -07:00
elf-flags.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
elf-header.s [Object] Change ELFObjectFile<ELFT>::getFileFormatName() to use BFD names 2020-03-16 07:42:04 -07:00
empty-string.s
fde-reloc.s [RISCV] Implement getExprForFDESymbol to ensure RISCV_32_PCREL is used for the FDE location 2019-08-20 12:32:31 +00:00
fixups-compressed.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
fixups-diagnostics.s
fixups-expr.s
fixups-invalid.s [RISCV] Don't crash on unsupported relocations 2019-12-19 17:21:30 +00:00
fixups.s [RISCV][NFC] Trivial cleanup 2019-12-17 11:44:35 +00:00
function-call-invalid.s [RISCV] Add pseudo instruction for calls with explicit register 2019-06-26 10:35:58 +00:00
function-call.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
hilo-constaddr-expr.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
hilo-constaddr.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
invalid-attribute.s [RISCV] ELF attribute section for RISC-V. 2020-03-31 16:16:19 +08:00
invalid-instruction-spellcheck.s [RISCV] Add assembly mnemonic spell checking 2019-11-18 10:58:00 +00:00
linker-relaxation.s [RISCV] Don't force absolute FK_Data_X fixups to relocs 2019-08-19 13:23:02 +00:00
lit.local.cfg [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
lla-invalid.s
machine-csr-names-invalid.s
machine-csr-names.s [RISCV] Update debug scratch register names 2020-05-05 08:46:07 -07:00
mattr-invalid-combination.s Revert "Revert "Reland "[Support] make report_fatal_error `abort` instead of `exit`""" 2020-02-13 10:16:06 -08:00
numeric-reg-names-d.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
numeric-reg-names-f.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
numeric-reg-names.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
option-invalid.s
option-mix.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
option-nopic.s [RISCV][AsmParser] Implement .option (no)pic 2020-04-17 12:08:30 +00:00
option-pic.s [RISCV][AsmParser] Implement .option (no)pic 2020-04-17 12:08:30 +00:00
option-pushpop.s [RISCV][AsmParser] Implement .option (no)pic 2020-04-17 12:08:30 +00:00
option-relax.s
option-rvc.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
pcrel-fixups.s [RISCV] Fix evaluating %pcrel_lo against global and weak symbols 2020-01-23 02:05:48 +00:00
pcrel-lo12-invalid.s [RISCV] Fix evaluating %pcrel_lo against global and weak symbols 2020-01-23 02:05:48 +00:00
priv-invalid.s
priv-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
pseudo-jump-invalid.s [RISCV] Implement jump pseudo-instruction 2020-01-31 22:28:26 +00:00
pseudo-jump.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
reloc-directive-err.s [MC][RISCV] Make .reloc support arbitrary relocation types 2020-04-10 10:43:53 -07:00
reloc-directive.s [MC][RISCV] Make .reloc support arbitrary relocation types 2020-04-10 10:43:53 -07:00
relocations.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
rv32-machine-csr-names.s
rv32-relaxation.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32-user-csr-names.s
rv32a-invalid.s [RISCV] Add Custom Parser for Atomic Memory Operands 2019-08-01 12:42:31 +00:00
rv32a-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32b-aliases-valid.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
rv32c-aliases-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rv32c-fuzzed-invalid.s
rv32c-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv32c-only-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32c-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32d-invalid.s
rv32d-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32dc-invalid.s
rv32dc-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32e-invalid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32e-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rv32f-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv32f-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32fc-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32fc-invalid.s
rv32fc-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32i-aliases-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv32i-aliases-valid.s [RISCV] Fix evaluating %pcrel_lo against global and weak symbols 2020-01-23 02:05:48 +00:00
rv32i-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv32i-valid.s [RISCV] Fix evaluating %pcrel_lo against global and weak symbols 2020-01-23 02:05:48 +00:00
rv32m-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv32m-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv32zbb-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbb-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbbp-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbbp-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbc-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbc-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbe-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbe-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbf-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbf-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbp-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbp-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbproposedc-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbproposedc-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbr-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbr-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbs-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbs-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbt-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv32zbt-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64-machine-csr-names.s
rv64-relax-all.s [MC][Bugfix] Remove redundant parameter for relaxInstruction 2020-04-21 11:06:55 +08:00
rv64-relaxation.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64-user-csr-names.s
rv64a-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64a-invalid.s [RISCV] Add Custom Parser for Atomic Memory Operands 2019-08-01 12:42:31 +00:00
rv64a-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64b-aliases-valid.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
rv64c-aliases-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rv64c-hints-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rv64c-invalid.s
rv64c-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64d-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64d-invalid.s
rv64d-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64dc-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64f-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64f-invalid.s
rv64f-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64i-aliases-invalid.s [RISCV] Improve assembler missing feature warnings 2019-12-10 16:44:48 +00:00
rv64i-aliases-valid.s [RISCV][NFC] Add more constant materialization tests 2020-05-06 16:06:16 +01:00
rv64i-invalid.s
rv64i-pseudos.s
rv64i-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rv64m-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rv64zbb-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbb-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbbp-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbbp-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbc-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbc-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbe-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbe-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbf-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbf-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbm-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbm-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbp-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbp-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbproposedc-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbproposedc-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbr-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbr-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbs-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbs-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbt-invalid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rv64zbt-valid.s [RISCV] Add MC layer support for proposed Bit Manipulation extension (version 0.92) 2020-04-09 18:04:22 +01:00
rva-aliases-invalid.s [RISCV] Check register class for AMO memory operands 2020-01-13 00:50:37 +00:00
rva-aliases-valid.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
rvc-aliases-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rvc-hints-invalid.s [RISCV] Add support for RVC HINT instructions 2019-08-21 14:00:58 +00:00
rvc-hints-valid.s [RISCV] Support llvm-objdump -M no-aliases and -M numeric 2019-09-10 16:24:03 +00:00
rvd-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rvd-pseudos.s
rvdc-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rvf-aliases-valid.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rvf-pseudos.s
rvf-user-csr-names.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
rvi-aliases-valid.s Revert "[llvm][test] Add COM: directives before colon-less non-CHECKs in comments. NFC" 2020-05-22 05:36:15 -06:00
rvi-alternate-abi-names.s
rvi-pseudos-invalid.s [RISCV][NFC] Correct RUN in rvi-pseudos-invalid.s 2019-07-23 17:14:42 +00:00
rvi-pseudos.s [RISCV] Allow parsing of bare symbols with offsets 2019-08-16 12:00:56 +00:00
supervisor-csr-names.s
tail-call-invalid.s
tail-call.s [test] llvm/test/: change llvm-objdump single-dash long options to double-dash options 2020-03-15 17:46:23 -07:00
target-abi-invalid.s
target-abi-valid.s [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
user-csr-names-invalid.s
user-csr-names.s