summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/fp-logic.ll
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-09-23 18:33:42 +0000
committerSanjay Patel <spatel@rotateright.com>2015-09-23 18:33:42 +0000
commit1a6534661ba954c1fe54befeae63773c1c695ef1 (patch)
tree9ffef5b4fb5f16d6bdb03f33d7c3f96a97e1f921 /llvm/test/CodeGen/X86/fp-logic.ll
parentc6dd651518a30c15dcb16d51757183e71052d9b1 (diff)
downloadbcm5719-llvm-1a6534661ba954c1fe54befeae63773c1c695ef1.tar.gz
bcm5719-llvm-1a6534661ba954c1fe54befeae63773c1c695ef1.zip
[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 llvm-svn: 248415
Diffstat (limited to 'llvm/test/CodeGen/X86/fp-logic.ll')
-rw-r--r--llvm/test/CodeGen/X86/fp-logic.ll5
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/X86/fp-logic.ll b/llvm/test/CodeGen/X86/fp-logic.ll
index 95f15789789..e45e48dfa98 100644
--- a/llvm/test/CodeGen/X86/fp-logic.ll
+++ b/llvm/test/CodeGen/X86/fp-logic.ll
@@ -183,10 +183,7 @@ define float @or(float %x, float %y) {
define float @xor(float %x, float %y) {
; CHECK-LABEL: xor:
; CHECK: # BB#0:
-; CHECK-NEXT: movd %xmm0, %eax
-; CHECK-NEXT: movd %xmm1, %ecx
-; CHECK-NEXT: xorl %eax, %ecx
-; CHECK-NEXT: movd %ecx, %xmm0
+; CHECK-NEXT: xorps %xmm1, %xmm0
; CHECK-NEXT: retq
%bc1 = bitcast float %x to i32
OpenPOWER on IntegriCloud