From f807f6a05fbaa06a2a37cf01dc1df7dc357648e9 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Mon, 5 Dec 2016 15:45:27 +0000 Subject: [x86] fold fand (fxor X, -1) Y --> fandn X, Y I noticed this gap in the scalar FP-logic matching with: D26712 and: rL287171 Differential Revision: https://reviews.llvm.org/D27385 llvm-svn: 288675 --- llvm/test/CodeGen/X86/fp-logic-replace.ll | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'llvm/test/CodeGen') diff --git a/llvm/test/CodeGen/X86/fp-logic-replace.ll b/llvm/test/CodeGen/X86/fp-logic-replace.ll index 50e2c1b2029..0a233fd9b64 100644 --- a/llvm/test/CodeGen/X86/fp-logic-replace.ll +++ b/llvm/test/CodeGen/X86/fp-logic-replace.ll @@ -29,16 +29,13 @@ define double @FsANDPSrr(double %x, double %y) { define double @FsANDNPSrr(double %x, double %y) { ; SSE-LABEL: FsANDNPSrr: ; SSE: # BB#0: -; SSE-NEXT: movsd {{.*#+}} xmm2 = mem[0],zero -; SSE-NEXT: xorpd %xmm1, %xmm2 -; SSE-NEXT: andpd %xmm2, %xmm0 +; SSE-NEXT: andnps %xmm0, %xmm1 +; SSE-NEXT: movaps %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: FsANDNPSrr: ; AVX: # BB#0: -; AVX-NEXT: vmovsd {{.*#+}} xmm2 = mem[0],zero -; AVX-NEXT: vxorpd %xmm2, %xmm1, %xmm1 -; AVX-NEXT: vandpd %xmm1, %xmm0, %xmm0 +; AVX-NEXT: vandnps %xmm0, %xmm1, %xmm0 ; AVX-NEXT: retq ; %bc1 = bitcast double %x to i64 -- cgit v1.2.3