[PATCH] D55787: [X86] Use UADDSAT/USUBSAT instead of ADDUS/SUBUS

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 17 13:31:38 PST 2018


nikic created this revision.
nikic added reviewers: spatel, RKSimon, craig.topper.
Herald added a subscriber: llvm-commits.

Part of https://bugs.llvm.org/show_bug.cgi?id=40056.

This removes the ADDUS/SUBUS X86ISD opcodes in favor of the generic UADDSAT/USUBSAT opcodes, without touching anything else.

I've marked a bunch of types like v8i8 as custom legalized, so they are widened (as now) rather than promoted (as default). Is there any more elegant way to do this, by reusing the generic vector widening code, rather than the custom code in X86 ReplaceNodeResults?


Repository:
  rL LLVM

https://reviews.llvm.org/D55787

Files:
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  lib/Target/X86/X86InstrAVX512.td
  lib/Target/X86/X86InstrFragmentsSIMD.td
  lib/Target/X86/X86InstrSSE.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D55787.178521.patch
Type: text/x-patch
Size: 14146 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20181217/becd375a/attachment-0001.bin>


More information about the llvm-commits mailing list