[PATCH] D152714: [AArch64][Optimization]Emit FCCMP for AND of two float compares

Sam Tebbs via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 2 01:52:28 PDT 2023


samtebbs added inline comments.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16397
+  // returns an empty SDValue to avoid applying the optimization to prevent
+  // incorrect results
+  for (auto U : N->uses())
----------------
Perhaps add that LowerSELECT can be modified to work with the IR that this function produces, thereby removing the need for this check.


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:16404
+    if (!DCI.isBeforeLegalize() &&
+        (Cmp = emitConjunction(DAG, SDValue(N, 0), CC))) {
+
----------------
hiraditya wrote:
> Have we already checked for `and` before calling emitConjunction ?
Yep, this function is only called when an AND is found.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D152714



More information about the llvm-commits mailing list