[PATCH] D107777: [AArch64][GlobalISel] Legalize scalar G_SSUBSAT + G_SADDSAT

Jessica Paquette via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 9 11:49:48 PDT 2021


paquette created this revision.
paquette added reviewers: aemerson, jroelofs.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls, rovka.
paquette requested review of this revision.
Herald added a project: LLVM.

These are lowered, matching SDAG behaviour. (See llvm/test/CodeGen/AArch64/ssub_sat.ll and llvm/test/CodeGen/AArch64/sadd_sat.ll)

These fall back ~159 times on a build of clang with GISel enabled.

Abort is disabled here because we can't clamp these instructions yet. The s88 test requires widening to s128 then clamping back down. I think this is consistent with what SDAG does: https://godbolt.org/z/cn3fWGvqx


https://reviews.llvm.org/D107777

Files:
  llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-saddsat.mir
  llvm/test/CodeGen/AArch64/GlobalISel/legalize-ssubsat.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D107777.365250.patch
Type: text/x-patch
Size: 22143 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210809/e6719bab/attachment.bin>


More information about the llvm-commits mailing list