[RISCV][MC] Add support for experimental Zawrs extension
authorPhilip Reames <preames@rivosinc.com>
Tue, 20 Sep 2022 17:01:37 +0000 (10:01 -0700)
committerPhilip Reames <listmail@philipreames.com>
Tue, 20 Sep 2022 17:15:11 +0000 (10:15 -0700)
commiteda2af575fdf038f3508112b42845516e7cb6192
treeef8e0f077349cec7124e4bc429488ab682308be8
parentb4f86f04d0b8c380552241800dfce228d3f5c8b0
[RISCV][MC] Add support for experimental Zawrs extension

This implements experimental support for the Zawrs extension as specified here: https://github.com/riscv/riscv-zawrs/releases/download/V1.0-rc3/Zawrs.pdf. Despite the 1.0 version name, this has not been ratified and there was a major change to proposed specification between rc2 and rc3.  Once this is ratified, it'll move out of experimental status.

This change adds assembly support, but does not include C language or IR intrinsics. We can decide if we want them, and handle that in a separate patch.

Differential Revision: https://reviews.llvm.org/D133443
clang/test/Preprocessor/riscv-target-features.c
llvm/docs/RISCVUsage.rst
llvm/lib/Support/RISCVISAInfo.cpp
llvm/lib/Target/RISCV/RISCV.td
llvm/lib/Target/RISCV/RISCVInstrInfo.td
llvm/lib/Target/RISCV/RISCVSubtarget.h
llvm/test/CodeGen/RISCV/attributes.ll
llvm/test/MC/RISCV/Zawrs-valid.s [new file with mode: 0644]
llvm/test/MC/RISCV/attribute-arch.s