Index: llvm/lib/Target/RISCV/RISCV.td =================================================================== --- llvm/lib/Target/RISCV/RISCV.td +++ llvm/lib/Target/RISCV/RISCV.td @@ -48,11 +48,11 @@ AssemblerPredicate<(all_of FeatureStdExtC), "'C' (Compressed Instructions)">; -def FeatureRVCHints - : SubtargetFeature<"rvc-hints", "EnableRVCHintInstrs", "true", - "Enable RVC Hint Instructions.">; +def FeatureNoRVCHints + : SubtargetFeature<"no-rvc-hints", "EnableRVCHintInstrs", "false", + "Disable RVC Hint Instructions.">; def HasRVCHints : Predicate<"Subtarget->enableRVCHintInstrs()">, - AssemblerPredicate<(all_of FeatureRVCHints), + AssemblerPredicate<(all_of(not FeatureNoRVCHints)), "RVC Hint Instructions">; def Feature64Bit @@ -107,15 +107,13 @@ // RISC-V processors supported. //===----------------------------------------------------------------------===// -def : ProcessorModel<"generic-rv32", NoSchedModel, [FeatureRVCHints]>; +def : ProcessorModel<"generic-rv32", NoSchedModel, []>; -def : ProcessorModel<"generic-rv64", NoSchedModel, [Feature64Bit, - FeatureRVCHints]>; +def : ProcessorModel<"generic-rv64", NoSchedModel, [Feature64Bit]>; -def : ProcessorModel<"rocket-rv32", Rocket32Model, [FeatureRVCHints]>; +def : ProcessorModel<"rocket-rv32", Rocket32Model, []>; -def : ProcessorModel<"rocket-rv64", Rocket64Model, [Feature64Bit, - FeatureRVCHints]>; +def : ProcessorModel<"rocket-rv64", Rocket64Model, [Feature64Bit]>; //===----------------------------------------------------------------------===// Index: llvm/lib/Target/RISCV/RISCVSubtarget.h =================================================================== --- llvm/lib/Target/RISCV/RISCVSubtarget.h +++ llvm/lib/Target/RISCV/RISCVSubtarget.h @@ -42,7 +42,7 @@ bool HasRV64 = false; bool IsRV32E = false; bool EnableLinkerRelax = false; - bool EnableRVCHintInstrs = false; + bool EnableRVCHintInstrs = true; bool EnableSaveRestore = false; unsigned XLen = 32; MVT XLenVT = MVT::i32; Index: llvm/test/MC/RISCV/rv32c-invalid.s =================================================================== --- llvm/test/MC/RISCV/rv32c-invalid.s +++ llvm/test/MC/RISCV/rv32c-invalid.s @@ -1,4 +1,4 @@ -# RUN: not llvm-mc -triple=riscv32 -mattr=+c -mattr=-rvc-hints < %s 2>&1 \ +# RUN: not llvm-mc -triple=riscv32 -mattr=+c -mattr=+no-rvc-hints < %s 2>&1 \ # RUN: | FileCheck %s ## GPRC