[x86] replace integer logic ops with packed SSE FP logic ops
authorSanjay Patel <spatel@rotateright.com>
Tue, 27 Oct 2015 01:28:07 +0000 (01:28 +0000)
committerSanjay Patel <spatel@rotateright.com>
Tue, 27 Oct 2015 01:28:07 +0000 (01:28 +0000)
commit9b0157716902f900919d4d1c7f211f9ae36cd5b1
treeab5e2aa6123a0e57403a08606b6a83cad8414608
parent9ba0e1d411584c37b9ba53e58383962566dbe183
[x86] replace integer logic ops with packed SSE FP logic ops

If we have an operand to a bitwise logic op that's already in
an XMM register and the result is going to be sent to an XMM
register, then use an SSE logic op to avoid moves between the
integer and vector register files.

Related commits:
http://reviews.llvm.org/rL248395
http://reviews.llvm.org/rL248399
http://reviews.llvm.org/rL248404
http://reviews.llvm.org/rL248409
http://reviews.llvm.org/rL248415

This should solve PR22428:
https://llvm.org/bugs/show_bug.cgi?id=22428

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@251378 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/fp-logic.ll