[x86] replace integer 'xor' ops with packed SSE FP 'xor' ops when operating on FP...
authorSanjay Patel <spatel@rotateright.com>
Wed, 23 Sep 2015 18:33:42 +0000 (18:33 +0000)
committerSanjay Patel <spatel@rotateright.com>
Wed, 23 Sep 2015 18:33:42 +0000 (18:33 +0000)
commitffafbd3b2acace647ee924bdfd623aa2bb1c26a9
tree2668d8ac5ccca882b1badd3d7a79200f21df7b5e
parentdfa2ab03d41469f78e525968932476194719dfb0
[x86] replace integer 'xor' ops with packed SSE FP 'xor' ops when operating on FP scalars

Turn this:

movd %xmm0, %eax
movd %xmm1, %ecx
xorl %eax, %ecx
movd %ecx, %xmm0

into this:

xorps %xmm1, %xmm0

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

This is an extension of:
http://reviews.llvm.org/rL248395

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