h was the prefix of multi-letter extension name, but it become a
extension name in later RISC-V isa spec.
Fortunately we don't have any extension really defined is prefixed
with h, so we can just change that.
Paths
| Differential D136817
[RISCV] Add H extension ClosedPublic Authored by kito-cheng on Oct 26 2022, 11:27 PM.
Details
Summary h was the prefix of multi-letter extension name, but it become a Fortunately we don't have any extension really defined is prefixed
Diff Detail
Event TimelineHerald added projects: Restricted Project, Restricted Project. · View Herald TranscriptOct 26 2022, 11:27 PM Herald added subscribers: llvm-commits, cfe-commits, • pcwang-thead and 2 others. · View Herald Transcript kito-cheng added a parent revision: D136812: [RISCV] Drop single letter b extension support.Oct 26 2022, 11:28 PM Comment Actions Thanks for this patch Kito - I'm thinking that perhaps we erred in not treating the hypervisor instructions (e.g. HLV* and HSV*) as being gated on the H extension, so a sensible follow-on to this patch would be to mark those instructions as requiring FeatureStdExtH - what do you think?
Comment Actions Thanks Kito, I think my only remaining request would be to add at least some test coverage for using a H extensions when h isn't included in the ISA string. I don't think such tests are handled very cleanly or consistently right now, but adding something to rv32i-invalid.s alongside similar checks would be better than nothing. This revision is now accepted and ready to land.Jan 9 2023, 8:27 AM This revision was landed with ongoing or failed builds.Jan 9 2023, 5:52 PM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 471386 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/priv-aliases-valid.s
llvm/test/MC/RISCV/priv-valid.s
llvm/test/MC/RISCV/rv32ih-aliases-valid.s
llvm/test/MC/RISCV/rv32ih-valid.s
llvm/test/MC/RISCV/rv64ih-valid.s
llvm/test/MC/RISCV/rvi-aliases-valid.s
|
If I'm reading the code right here, we only have assembly support here. Given that, shouldn't this be Assembly Support?