llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Sudharsan Veeravalli (svs-quic) <details> <summary>Changes</summary> Version 0.13 of the Xqci Qualcomm uC Vendor Extension has been marked as frozen. We've had assembler support for this since LLVM20 and code generation support since LLVM21. I think we have enough coverage in the code base to mark the extension as non-experimental. --- Patch is 159.37 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/173331.diff 98 Files Affected: - (modified) clang/test/Driver/print-supported-extensions-riscv.c (+19-19) - (modified) llvm/docs/RISCVUsage.rst (+21-18) - (modified) llvm/docs/ReleaseNotes.md (+1) - (modified) llvm/lib/Target/RISCV/RISCVFeatures.td (+39-42) - (modified) llvm/test/CodeGen/RISCV/attributes-qc.ll (+18-18) - (modified) llvm/test/CodeGen/RISCV/cmov-branch-opt.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/codemodel-lowering.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/features-info.ll (+19-19) - (modified) llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/i32-icmp.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/imm.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/jumptable.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/make-compressible-xqci.mir (+4-4) - (modified) llvm/test/CodeGen/RISCV/min-max.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/pr148084.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/qci-interrupt-attr-fpr.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/qci-interrupt-attr.ll (+6-6) - (modified) llvm/test/CodeGen/RISCV/select-bare.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/select-cc.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/select-cond.ll (+3-3) - (modified) llvm/test/CodeGen/RISCV/select-const.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/select.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/short-forward-branch-load-imm.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/short-forward-branch-opt-qcloads.ll (+3-3) - (modified) llvm/test/CodeGen/RISCV/stack-offset.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcia.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqciac.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/xqcibi.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcibm-cto-clo-brev.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcibm-extract.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/xqcibm-insbi.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcibm-insert.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/xqcicli.ll (+2-2) - (modified) llvm/test/CodeGen/RISCV/xqcicm.ll (+3-3) - (modified) llvm/test/CodeGen/RISCV/xqcics.ll (+3-3) - (modified) llvm/test/CodeGen/RISCV/xqcilia.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcilo.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcilsm-lwmi-swmi.mir (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcilsm-memset.ll (+1-1) - (modified) llvm/test/CodeGen/RISCV/xqcisls.ll (+1-1) - (modified) llvm/test/DebugInfo/RISCV/relax_dwo_ranges.ll (+3-3) - (modified) llvm/test/MC/Disassembler/RISCV/branch-targets-xqci.txt (+2-2) - (modified) llvm/test/MC/Disassembler/RISCV/xqci-invalid.txt (+2-2) - (modified) llvm/test/MC/RISCV/insn_xqci.s (+1-1) - (modified) llvm/test/MC/RISCV/rv32-relaxation-xqci.s (+3-3) - (modified) llvm/test/MC/RISCV/vendor-symbol.s (+1-1) - (modified) llvm/test/MC/RISCV/xqci-fixups.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcia-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcia-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqciac-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqciac-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcibi-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcibi-linker-relaxation.s (+1-1) - (modified) llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s (+4-4) - (modified) llvm/test/MC/RISCV/xqcibi-relocations.s (+3-3) - (modified) llvm/test/MC/RISCV/xqcibi-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcibm-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcibm-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcicli-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcicli-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcicm-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcicm-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcics-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcics-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcicsr-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcicsr-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqciint-csrs-invalid.s (+63-63) - (modified) llvm/test/MC/RISCV/xqciint-csrs-valid.s (+3-3) - (modified) llvm/test/MC/RISCV/xqciint-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqciint-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqciio-aliases-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqciio-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqciio-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcilb-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcilb-relocations.s (+3-3) - (modified) llvm/test/MC/RISCV/xqcilb-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcili-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcili-li.s (+1-1) - (modified) llvm/test/MC/RISCV/xqcili-linker-relaxation.s (+1-1) - (modified) llvm/test/MC/RISCV/xqcili-relocations.s (+3-3) - (modified) llvm/test/MC/RISCV/xqcili-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcilia-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcilia-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcilo-aliases-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcilo-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcilo-pseudos-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcilo-pseudos-valid.s (+1-1) - (modified) llvm/test/MC/RISCV/xqcilo-valid.s (+12-12) - (modified) llvm/test/MC/RISCV/xqcilsm-aliases-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcilsm-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcilsm-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcisim-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcisim-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcisls-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcisls-valid.s (+6-6) - (modified) llvm/test/MC/RISCV/xqcisync-invalid.s (+2-2) - (modified) llvm/test/MC/RISCV/xqcisync-valid.s (+6-6) - (modified) llvm/unittests/TargetParser/RISCVISAInfoTest.cpp (+19-19) ``````````diff diff --git a/clang/test/Driver/print-supported-extensions-riscv.c b/clang/test/Driver/print-supported-extensions-riscv.c index bcc00d072c2ae..4be310244715e 100644 --- a/clang/test/Driver/print-supported-extensions-riscv.c +++ b/clang/test/Driver/print-supported-extensions-riscv.c @@ -178,6 +178,25 @@ // CHECK-NEXT: xmipscmov 1.0 'XMIPSCMov' (MIPS conditional move instruction (mips.ccmov)) // CHECK-NEXT: xmipsexectl 1.0 'XMIPSEXECTL' (MIPS execution control) // CHECK-NEXT: xmipslsp 1.0 'XMIPSLSP' (MIPS optimization for hardware load-store bonding) +// CHECK-NEXT: xqci 0.13 'Xqci' (Qualcomm uC Extension) +// CHECK-NEXT: xqcia 0.7 'Xqcia' (Qualcomm uC Arithmetic Extension) +// CHECK-NEXT: xqciac 0.3 'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension) +// CHECK-NEXT: xqcibi 0.2 'Xqcibi' (Qualcomm uC Branch Immediate Extension) +// CHECK-NEXT: xqcibm 0.8 'Xqcibm' (Qualcomm uC Bit Manipulation Extension) +// CHECK-NEXT: xqcicli 0.3 'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension) +// CHECK-NEXT: xqcicm 0.2 'Xqcicm' (Qualcomm uC Conditional Move Extension) +// CHECK-NEXT: xqcics 0.2 'Xqcics' (Qualcomm uC Conditional Select Extension) +// CHECK-NEXT: xqcicsr 0.4 'Xqcicsr' (Qualcomm uC CSR Extension) +// CHECK-NEXT: xqciint 0.10 'Xqciint' (Qualcomm uC Interrupts Extension) +// CHECK-NEXT: xqciio 0.1 'Xqciio' (Qualcomm uC External Input Output Extension) +// CHECK-NEXT: xqcilb 0.2 'Xqcilb' (Qualcomm uC Long Branch Extension) +// CHECK-NEXT: xqcili 0.2 'Xqcili' (Qualcomm uC Load Large Immediate Extension) +// CHECK-NEXT: xqcilia 0.2 'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension) +// CHECK-NEXT: xqcilo 0.3 'Xqcilo' (Qualcomm uC Large Offset Load Store Extension) +// CHECK-NEXT: xqcilsm 0.6 'Xqcilsm' (Qualcomm uC Load Store Multiple Extension) +// CHECK-NEXT: xqcisim 0.2 'Xqcisim' (Qualcomm uC Simulation Hint Extension) +// CHECK-NEXT: xqcisls 0.2 'Xqcisls' (Qualcomm uC Scaled Load Store Extension) +// CHECK-NEXT: xqcisync 0.3 'Xqcisync' (Qualcomm uC Sync Delay Extension) // CHECK-NEXT: xsfcease 1.0 'XSfcease' (SiFive sf.cease Instruction) // CHECK-NEXT: xsfmm128t 0.6 'XSfmm128t' (TE=128 configuration) // CHECK-NEXT: xsfmm16t 0.6 'XSfmm16t' (TE=16 configuration) @@ -230,25 +249,6 @@ // CHECK-NEXT: smpmpmt 0.6 'Smpmpmt' (PMP-based Memory Types Extension) // CHECK-NEXT: svukte 0.3 'Svukte' (Address-Independent Latency of User-Mode Faults to Supervisor Addresses) // CHECK-NEXT: xqccmp 0.3 'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves) -// CHECK-NEXT: xqci 0.13 'Xqci' (Qualcomm uC Extension) -// CHECK-NEXT: xqcia 0.7 'Xqcia' (Qualcomm uC Arithmetic Extension) -// CHECK-NEXT: xqciac 0.3 'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension) -// CHECK-NEXT: xqcibi 0.2 'Xqcibi' (Qualcomm uC Branch Immediate Extension) -// CHECK-NEXT: xqcibm 0.8 'Xqcibm' (Qualcomm uC Bit Manipulation Extension) -// CHECK-NEXT: xqcicli 0.3 'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension) -// CHECK-NEXT: xqcicm 0.2 'Xqcicm' (Qualcomm uC Conditional Move Extension) -// CHECK-NEXT: xqcics 0.2 'Xqcics' (Qualcomm uC Conditional Select Extension) -// CHECK-NEXT: xqcicsr 0.4 'Xqcicsr' (Qualcomm uC CSR Extension) -// CHECK-NEXT: xqciint 0.10 'Xqciint' (Qualcomm uC Interrupts Extension) -// CHECK-NEXT: xqciio 0.1 'Xqciio' (Qualcomm uC External Input Output Extension) -// CHECK-NEXT: xqcilb 0.2 'Xqcilb' (Qualcomm uC Long Branch Extension) -// CHECK-NEXT: xqcili 0.2 'Xqcili' (Qualcomm uC Load Large Immediate Extension) -// CHECK-NEXT: xqcilia 0.2 'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension) -// CHECK-NEXT: xqcilo 0.3 'Xqcilo' (Qualcomm uC Large Offset Load Store Extension) -// CHECK-NEXT: xqcilsm 0.6 'Xqcilsm' (Qualcomm uC Load Store Multiple Extension) -// CHECK-NEXT: xqcisim 0.2 'Xqcisim' (Qualcomm uC Simulation Hint Extension) -// CHECK-NEXT: xqcisls 0.2 'Xqcisls' (Qualcomm uC Scaled Load Store Extension) -// CHECK-NEXT: xqcisync 0.3 'Xqcisync' (Qualcomm uC Sync Delay Extension) // CHECK-NEXT: xrivosvisni 0.1 'XRivosVisni' (Rivos Vector Integer Small New) // CHECK-NEXT: xrivosvizip 0.1 'XRivosVizip' (Rivos Vector Register Zips) // CHECK-NEXT: xsfmclic 0.1 'XSfmclic' (SiFive CLIC Machine-mode CSRs) diff --git a/llvm/docs/RISCVUsage.rst b/llvm/docs/RISCVUsage.rst index 1e55fea9e1eb8..df5a595e8ec93 100644 --- a/llvm/docs/RISCVUsage.rst +++ b/llvm/docs/RISCVUsage.rst @@ -463,58 +463,61 @@ The current vendor extensions supported are: ``experimental-Xqccmp`` LLVM implements `version 0.3 of the 16-bit Push/Pop instructions and double-moves extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqccmp_extension-0.3.0>`__ by Qualcomm. All instructions are prefixed with `qc.` as described in the specification. -``experimental-Xqcia`` +``Xqci`` + LLVM implements `version 0.13 of the Qualcomm uC extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. + +``Xqcia`` LLVM implements `version 0.7 of the Qualcomm uC Arithmetic extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqciac`` +``Xqciac`` LLVM implements `version 0.3 of the Qualcomm uC Load-Store Address Calculation extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcibi`` +``Xqcibi`` LLVM implements `version 0.2 of the Qualcomm uC Branch Immediate extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcibm`` +``Xqcibm`` LLVM implements `version 0.8 of the Qualcomm uC Bit Manipulation extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcicli`` +``Xqcicli`` LLVM implements `version 0.3 of the Qualcomm uC Conditional Load Immediate extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcicm`` +``Xqcicm`` LLVM implements `version 0.2 of the Qualcomm uC Conditional Move extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcics`` +``Xqcics`` LLVM implements `version 0.2 of the Qualcomm uC Conditional Select extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcicsr`` +``Xqcicsr`` LLVM implements `version 0.4 of the Qualcomm uC CSR extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqciint`` +``Xqciint`` LLVM implements `version 0.10 of the Qualcomm uC Interrupts extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqciio`` +``Xqciio`` LLVM implements `version 0.1 of the Qualcomm uC External Input Output extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcilb`` +``Xqcilb`` LLVM implements `version 0.2 of the Qualcomm uC Long Branch extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcili`` +``Xqcili`` LLVM implements `version 0.2 of the Qualcomm uC Load Large Immediate extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcilia`` +``Xqcilia`` LLVM implements `version 0.2 of the Qualcomm uC Large Immediate Arithmetic extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcilo`` +``Xqcilo`` LLVM implements `version 0.3 of the Qualcomm uC Large Offset Load Store extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcilsm`` +``Xqcilsm`` LLVM implements `version 0.6 of the Qualcomm uC Load Store Multiple extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcisim`` +``Xqcisim`` LLVM implements `version 0.2 of the Qualcomm uC Simulation Hint extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcisls`` +``Xqcisls`` LLVM implements `version 0.2 of the Qualcomm uC Scaled Load Store extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. -``experimental-Xqcisync`` +``Xqcisync`` LLVM implements `version 0.3 of the Qualcomm uC Sync Delay extension specification <https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0>`__ by Qualcomm. These instructions are only available for riscv32. ``Xmipscbop`` diff --git a/llvm/docs/ReleaseNotes.md b/llvm/docs/ReleaseNotes.md index 503cf641a221f..910a50214df2f 100644 --- a/llvm/docs/ReleaseNotes.md +++ b/llvm/docs/ReleaseNotes.md @@ -158,6 +158,7 @@ Changes to the RISC-V Backend * Adds assembler support for the Andes `XAndesvsinth` (Andes Vector Small Int Handling Extension). * DWARF fission is now compatible with linker relaxations, allowing `-gsplit-dwarf` and `-mrelax` to be used together when building for the RISC-V platform. +* The Xqci Qualcomm uC Vendor Extension is no longger marked as experimental. Changes to the WebAssembly Backend ---------------------------------- diff --git a/llvm/lib/Target/RISCV/RISCVFeatures.td b/llvm/lib/Target/RISCV/RISCVFeatures.td index 3a76ac6351fdf..66e1b18f37392 100644 --- a/llvm/lib/Target/RISCV/RISCVFeatures.td +++ b/llvm/lib/Target/RISCV/RISCVFeatures.td @@ -1497,47 +1497,46 @@ def HasVendorXqccmp "'Xqccmp' (Qualcomm 16-bit Push/Pop and Double Moves)">; def FeatureVendorXqcia - : RISCVExperimentalExtension<0, 7, "Qualcomm uC Arithmetic Extension">; + : RISCVExtension<0, 7, "Qualcomm uC Arithmetic Extension">; def HasVendorXqcia : Predicate<"Subtarget->hasVendorXqcia()">, AssemblerPredicate<(all_of FeatureVendorXqcia), "'Xqcia' (Qualcomm uC Arithmetic Extension)">; def FeatureVendorXqciac - : RISCVExperimentalExtension<0, 3, "Qualcomm uC Load-Store Address Calculation Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 3, "Qualcomm uC Load-Store Address Calculation Extension", + [FeatureStdExtZca]>; def HasVendorXqciac : Predicate<"Subtarget->hasVendorXqciac()">, AssemblerPredicate<(all_of FeatureVendorXqciac), "'Xqciac' (Qualcomm uC Load-Store Address Calculation Extension)">; def FeatureVendorXqcibi - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Branch Immediate Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Branch Immediate Extension", + [FeatureStdExtZca]>; def HasVendorXqcibi : Predicate<"Subtarget->hasVendorXqcibi()">, AssemblerPredicate<(all_of FeatureVendorXqcibi), "'Xqcibi' (Qualcomm uC Branch Immediate Extension)">; def FeatureVendorXqcibm - : RISCVExperimentalExtension<0, 8, "Qualcomm uC Bit Manipulation Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 8, "Qualcomm uC Bit Manipulation Extension", + [FeatureStdExtZca]>; def HasVendorXqcibm : Predicate<"Subtarget->hasVendorXqcibm()">, AssemblerPredicate<(all_of FeatureVendorXqcibm), "'Xqcibm' (Qualcomm uC Bit Manipulation Extension)">; def FeatureVendorXqcicli - : RISCVExperimentalExtension<0, 3, - "Qualcomm uC Conditional Load Immediate Extension">; + : RISCVExtension<0, 3, "Qualcomm uC Conditional Load Immediate Extension">; def HasVendorXqcicli : Predicate<"Subtarget->hasVendorXqcicli()">, AssemblerPredicate<(all_of FeatureVendorXqcicli), "'Xqcicli' (Qualcomm uC Conditional Load Immediate Extension)">; def FeatureVendorXqcicm - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Conditional Move Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Conditional Move Extension", + [FeatureStdExtZca]>; def HasVendorXqcicm : Predicate<"Subtarget->hasVendorXqcicm()">, AssemblerPredicate<(all_of FeatureVendorXqcicm), @@ -1546,7 +1545,7 @@ def NoVendorXqcicm : Predicate<"!Subtarget->hasVendorXqcicm()">; def FeatureVendorXqcics - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Conditional Select Extension">; + : RISCVExtension<0, 2, "Qualcomm uC Conditional Select Extension">; def HasVendorXqcics : Predicate<"Subtarget->hasVendorXqcics()">, AssemblerPredicate<(all_of FeatureVendorXqcics), @@ -1555,102 +1554,100 @@ def NoVendorXqcics : Predicate<"!Subtarget->hasVendorXqcics()">; def FeatureVendorXqcicsr - : RISCVExperimentalExtension<0, 4, "Qualcomm uC CSR Extension">; + : RISCVExtension<0, 4, "Qualcomm uC CSR Extension">; def HasVendorXqcicsr : Predicate<"Subtarget->hasVendorXqcicsr()">, AssemblerPredicate<(all_of FeatureVendorXqcicsr), "'Xqcicsr' (Qualcomm uC CSR Extension)">; def FeatureVendorXqciint - : RISCVExperimentalExtension<0, 10, "Qualcomm uC Interrupts Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 10, "Qualcomm uC Interrupts Extension", + [FeatureStdExtZca]>; def HasVendorXqciint : Predicate<"Subtarget->hasVendorXqciint()">, AssemblerPredicate<(all_of FeatureVendorXqciint), "'Xqciint' (Qualcomm uC Interrupts Extension)">; def FeatureVendorXqciio - : RISCVExperimentalExtension<0, 1, "Qualcomm uC External Input Output Extension">; + : RISCVExtension<0, 1, "Qualcomm uC External Input Output Extension">; def HasVendorXqciio : Predicate<"Subtarget->hasVendorXqciio()">, AssemblerPredicate<(all_of FeatureVendorXqciio), "'Xqciio' (Qualcomm uC External Input Output Extension)">; def FeatureVendorXqcilb - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Long Branch Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Long Branch Extension", + [FeatureStdExtZca]>; def HasVendorXqcilb : Predicate<"Subtarget->hasVendorXqcilb()">, AssemblerPredicate<(all_of FeatureVendorXqcilb), "'Xqcilb' (Qualcomm uC Long Branch Extension)">; def FeatureVendorXqcili - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Load Large Immediate Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Load Large Immediate Extension", + [FeatureStdExtZca]>; def HasVendorXqcili : Predicate<"Subtarget->hasVendorXqcili()">, AssemblerPredicate<(all_of FeatureVendorXqcili), "'Xqcili' (Qualcomm uC Load Large Immediate Extension)">; def FeatureVendorXqcilia - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Large Immediate Arithmetic Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Large Immediate Arithmetic Extension", + [FeatureStdExtZca]>; def HasVendorXqcilia : Predicate<"Subtarget->hasVendorXqcilia()">, AssemblerPredicate<(all_of FeatureVendorXqcilia), "'Xqcilia' (Qualcomm uC Large Immediate Arithmetic Extension)">; def FeatureVendorXqcilo - : RISCVExperimentalExtension<0, 3, "Qualcomm uC Large Offset Load Store Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 3, "Qualcomm uC Large Offset Load Store Extension", + [FeatureStdExtZca]>; def HasVendorXqcilo : Predicate<"Subtarget->hasVendorXqcilo()">, AssemblerPredicate<(all_of FeatureVendorXqcilo), "'Xqcilo' (Qualcomm uC Large Offset Load Store Extension)">; def FeatureVendorXqcilsm - : RISCVExperimentalExtension<0, 6, - "Qualcomm uC Load Store Multiple Extension">; + : RISCVExtension<0, 6, "Qualcomm uC Load Store Multiple Extension">; def HasVendorXqcilsm : Predicate<"Subtarget->hasVendorXqcilsm()">, AssemblerPredicate<(all_of FeatureVendorXqcilsm), "'Xqcilsm' (Qualcomm uC Load Store Multiple Extension)">; def FeatureVendorXqcisim - : RISCVExperimentalExtension<0, 2, "Qualcomm uC Simulation Hint Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 2, "Qualcomm uC Simulation Hint Extension", + [FeatureStdExtZca]>; def HasVendorXqcisim : Predicate<"Subtarget->hasVendorXqcisim()">, AssemblerPredicate<(all_of FeatureVendorXqcisim), "'Xqcisim' (Qualcomm uC Simulation Hint Extension)">; def FeatureVendorXqcisls - : RISCVExperimentalExtension<0, 2, - "Qualcomm uC Scaled Load Store Extension">; + : RISCVExtension<0, 2, "Qualcomm uC Scaled Load Store Extension">; def HasVendorXqcisls : Predicate<"Subtarget->hasVendorXqcisls()">, AssemblerPredicate<(all_of FeatureVendorXqcisls), "'Xqcisls' (Qualcomm uC Scaled Load Store Extension)">; def FeatureVendorXqcisync - : RISCVExperimentalExtension<0, 3, "Qualcomm uC Sync Delay Extension", - [FeatureStdExtZca]>; + : RISCVExtension<0, 3, "Qualcomm uC Sync Delay Extension", + [FeatureStdExtZca]>; def HasVendorXqcisync : Predicate<"Subtarget->hasVendorXqcisync()">, AssemblerPredicate<(all_of FeatureVendorXqcisync), "'Xqcisync' (Qualcomm uC Sync Delay Extension)">; def FeatureVendorXqci - : RISCVExperimentalExtension<0, 13, "Qualcomm uC Extension", - [FeatureVendorXqcia, FeatureVendorXqciac, - FeatureVendorXqcibi, FeatureVendorXqcibm, -... [truncated] `````````` </details> https://github.com/llvm/llvm-project/pull/173331 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
