[llvm] [X86][CodeGen] Support hoisting load/store with conditional faulting (PR #96720)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 26 22:52:34 PDT 2024


================
@@ -32308,6 +32308,54 @@ bool X86TargetLowering::isInlineAsmTargetBranch(
   return Inst.equals_insensitive("call") || Inst.equals_insensitive("jmp");
 }
 
+static SDValue getFlagsOfCmpZeroFori1(SelectionDAG &DAG, const SDLoc &DL,
+                                      SDValue Mask) {
+  EVT Ty = MVT::i8;
+  auto V = DAG.getBitcast(MVT::i1, Mask);
+  auto VE = DAG.getZExtOrTrunc(V, DL, Ty);
+  auto Zero = DAG.getConstant(0, DL, Ty);
+  SDVTList X86SubVTs = DAG.getVTList(Ty, MVT::i32);
+  auto CmpZero = DAG.getNode(X86ISD::SUB, DL, X86SubVTs, Zero, VE);
----------------
goldsteinn wrote:

why `SUB` as opposed to `CMP`?

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


More information about the llvm-commits mailing list