[PATCH] D139420: [AArch64][GlobalISel] implement GPR (U/S)(MIN/MAX) instr support

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 21 04:43:31 PST 2022


arsenm added inline comments.


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp:194-202
+      .legalIf([=](const LegalityQuery &Query) {
+                 if (HasCSSC && typeInSet(0, {s32, s64})(Query))
+                   return true;
+                 return typeInSet(0, {v8s8, v16s8, v4s16, v8s16, v2s32, v4s32})
+                     (Query);
+               })
+      .minScalarIf([=](const LegalityQuery &Query) {
----------------
stuij wrote:
> arsenm wrote:
> > You can also conditionally add the predicates based on the subtarget feature check. i.e. you don't need to check the predicates inside the lambda, you can append rules for different subtargets. 
> Right. Indeed, I didn't think of that. Reviewing I still prefer the lambda-inlining. Maybe because I'm giddy to finally have an excuse to write lots of lambdas in C++. From your phrasing I think you're also ok with the current setup.
These are called a lot 


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139420/new/

https://reviews.llvm.org/D139420



More information about the llvm-commits mailing list