The llvm.aarch64.neon.scalar.sqxtn.i32.i64 intrinsics take and return integer types, but operate on fp registers. This can create some inefficiencies in their lowering, where the registers are converted to fp a little too late. This patch adds lowering for the intrinsics, creating bitcasts to/from fp types to allow nicer folding later when the instructions are selected, especially around insert/extracts.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Event Timeline
Comment Actions
Thanks! LGTM (with a minor comment).
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp | ||
---|---|---|
4631 | nit: Use dl (created at line 4538), same for the other two SDLoc(Op). |
nit:
Use dl (created at line 4538), same for the other two SDLoc(Op).