[clang] [llvm] [RISCV] Add MIPS extensions (PR #121394)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 27 10:35:14 PST 2025


================
@@ -1228,6 +1228,21 @@ def HasVendorXCVbi
     : Predicate<"Subtarget->hasVendorXCVbi()">,
       AssemblerPredicate<(all_of FeatureVendorXCVbi),
                          "'XCVbi' (CORE-V Immediate Branching)">;
+// MIPS Extensions
+
+def FeatureVendorXMIPSCMove
+    : RISCVExtension<1, 0, "MIPS conditional move instruction(s) (ccmov)">;
+def HasVendorXMIPSCMove
+    : Predicate<"Subtarget->hasVendorXMIPSCMove()">,
+      AssemblerPredicate<(all_of FeatureVendorXMIPSCMove),
+                         "'Xmipscmove' ('mips.ccmov' instruction)">;
+def UseCCMovInsn : Predicate<"Subtarget->useCCMovInsn()">;
+def FeatureVendorXMIPSLSP
+    : RISCVExtension<1, 0, "MIPS optimization for hardware load-store bonding">;
+def HasVendorXMIPSLSP
+    : Predicate<"Subtarget->hasVendorXMIPSCMove()">,
----------------
topperc wrote:

I think I meant to write `hasVendorXMIPSLSP()`. I think I didn't want it to be `useLoadStorePairs()`.

https://github.com/llvm/llvm-project/pull/121394


More information about the llvm-commits mailing list