[x86] replace integer 'and' ops with packed SSE FP 'and' ops when operating on FP...
authorSanjay Patel <spatel@rotateright.com>
Wed, 23 Sep 2015 17:00:06 +0000 (17:00 +0000)
committerSanjay Patel <spatel@rotateright.com>
Wed, 23 Sep 2015 17:00:06 +0000 (17:00 +0000)
commit18136471116532e630ce7626c7a660c5495514d8
tree4ce7c3fcd7b28f966217238bf2222398aff2d4c3
parent44f9959a95245c1d626dc87654544fdddde2b3e8
[x86] replace integer 'and' ops with packed SSE FP 'and' ops when operating on FP scalars

Turn this:
   movd %xmm0, %eax
   movd %xmm1, %ecx
   andl %eax, %ecx
   movd %ecx, %xmm0

into this:
   andps %xmm1, %xmm0

This is related to, but does not solve:
https://llvm.org/bugs/show_bug.cgi?id=22428

Differential Revision: http://reviews.llvm.org/D13065

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