[llvm] [RISCV] Add ISel patterns for Qualcomm uC Xqcics extension (PR #146675)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 8 11:56:12 PDT 2025


================
@@ -1461,6 +1485,33 @@ def : QCIMVCCIPat <SETLT,  QC_MVLTI>;
 def : QCIMVCCIPat <SETULT, QC_MVLTUI>;
 }
 
+let Predicates = [HasVendorXqcics, IsRV32] in {
+def : Pat<(select (XLenVT GPRNoX0:$rd), (XLenVT GPRNoX0:$rs2),(XLenVT GPRNoX0:$rs3)),
+          (QC_SELECTEQI GPRNoX0:$rd, (XLenVT 0), GPRNoX0:$rs3, GPRNoX0:$rs2)>;
+
----------------
topperc wrote:

> But this is "fine" right, in that selection will end up putting one immediate into a register, and keeping the other as an immediate - rather than failing.

Correct.

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


More information about the llvm-commits mailing list