[PATCH] D31290: [x86] use PMOVMSK to replace memcmp libcalls for 16-byte equality

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 24 14:05:59 PDT 2017


spatel updated this revision to Diff 93004.
spatel marked an inline comment as done.
spatel added a comment.

Patch updated:
Have the TLI hook return the preferred operand (load) type for a given bitwidth, so we don't have to cycle through all of those when transforming the memcmp().

I'm using EVT instead of MVT in the hook anticipating that we extend this to 256-bit types for AVX2. In that case, we'd use i256 which isn't an MVT / simple type, so we'd have to switch it at that point unless I'm misunderstanding how these things work.


https://reviews.llvm.org/D31290

Files:
  include/llvm/Target/TargetLowering.h
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h
  test/CodeGen/X86/memcmp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D31290.93004.patch
Type: text/x-patch
Size: 8890 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170324/0a9e7364/attachment.bin>


More information about the llvm-commits mailing list