[PATCH] D55515: [x86] increment/decrement constant vector with min/max in vsetcc lowering (PR39859)

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 10 08:57:31 PST 2018


spatel created this revision.
spatel added reviewers: nikic, andreadb, RKSimon.
Herald added a subscriber: mcrosier.

This is part of fixing PR39859:
https://bugs.llvm.org/show_bug.cgi?id=39859

We have a crippled vector ISA, so we have to invert a typical fold and create min/max here.

As discussed in the bug report, we can probably do better by using saturating subtract in larger patterns when it's available, but we should have this improvement for the minimal patterns regardless.

Alive proofs:
https://rise4fun.com/Alive/zsf
https://rise4fun.com/Alive/Qrl


https://reviews.llvm.org/D55515

Files:
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/sat-add.ll
  test/CodeGen/X86/vec_minmax_match.ll
  test/CodeGen/X86/vec_setcc-2.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55515.177534.patch
Type: text/x-patch
Size: 10001 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181210/e588037f/attachment.bin>


More information about the llvm-commits mailing list