diff options
author | Alex Bradbury <asb@igalia.com> | 2023-07-10 08:23:49 +0100 |
---|---|---|
committer | Alex Bradbury <asb@igalia.com> | 2023-07-10 08:26:31 +0100 |
commit | 29f630a1ddcbb03caa31b5002f0cbc105ff3a869 (patch) | |
tree | ea35caf0bfc5b795399bd1e40496ba9861667ab7 /flang/lib/Frontend/CompilerInvocation.cpp | |
parent | 284a059b33064764d5ebb1699b5ac8f6f5dad6e8 (diff) | |
download | llvm-29f630a1ddcbb03caa31b5002f0cbc105ff3a869.zip llvm-29f630a1ddcbb03caa31b5002f0cbc105ff3a869.tar.gz llvm-29f630a1ddcbb03caa31b5002f0cbc105ff3a869.tar.bz2 |
[RISCV][MC] MC layer support for the experimental zacas extension
This implements the v1.0-rc1 draft extension.
amocas.d on RV32 and amocas.q have the restriction that rd and rs2 must
be even registers. I've opted to implement this restriction in
RISCVAsmParser::validateInstruction even though for codegen we'll need a
new register class and can then remove this validation. This also
sidesteps, for now, the issue of amocas.d being different on rv32 vs
rv64.
See <https://github.com/riscv-non-isa/riscv-c-api-doc/issues/37> for the
issue of needing an agreed asm register constraint for register pairs.
Differential Revision: https://reviews.llvm.org/D149248
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions