]> granicus.if.org Git - llvm/commit
[x86] use PMOVMSK to replace memcmp libcalls for 16-byte equality
authorSanjay Patel <spatel@rotateright.com>
Sat, 25 Mar 2017 16:05:33 +0000 (16:05 +0000)
committerSanjay Patel <spatel@rotateright.com>
Sat, 25 Mar 2017 16:05:33 +0000 (16:05 +0000)
commita39e64c0aa123a11f3fe6144e29fb9c84cd6612d
treeaa6c4ac389e52c0e31b4cb3faa7fd634e89db465
parentea4d19ebb3e3aeea5c417a7ade04e9704498ecc1
[x86] use PMOVMSK to replace memcmp libcalls for 16-byte equality

This is the payoff for D31156 - if a target has efficient comparison instructions for vector-sized equality,
we can replace memcmp calls with inline code that is both smaller and faster.

Differential Revision: https://reviews.llvm.org/D31290

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298775 91177308-0d34-0410-b5e6-96231b3b80d8
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