[PATCH] D148917: [AArch64][FastISel] Handle CRC32 intrinsics

Alexis Engelke via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 26 07:45:35 PDT 2023


aengelke marked 2 inline comments as done.
aengelke added a comment.

In D148917#4288074 <https://reviews.llvm.org/D148917#4288074>, @efriedma wrote:

> Okay.  I'm bringing it up because I'd like to make sure fastisel remains limited in scope; we don't have all the GlobalISel infrastructure, so reviewing any additions is significantly more work.

I totally understand, and I don't plan further substantial additions (but crc32 and struct returns are fairly important for us).



================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:3841
+    Register ResultReg =
+        fastEmitInst_rr(Opc, &AArch64::GPR32RegClass, LHSReg, RHSReg);
+    if (!ResultReg)
----------------
efriedma wrote:
> I'm pretty sure fastEmitInst_rr can't fail, so there isn't any reason to null-check the return value.  Is this pattern copied from somewhere?
I probably slightly mixed this up with `fastEmit_*` which can fail (see sqrt intrinsic) and two occurences of `fastEmitInst` have checks (`selectSDiv`)/assertions (`Intrinsic::frameaddress`).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D148917



More information about the llvm-commits mailing list