From patchwork Tue Nov 12 20:54:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Segher Boessenkool X-Patchwork-Id: 1193853 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-513174-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="ox7ceyGz"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47CKl01Vjvz9sNH for ; Wed, 13 Nov 2019 07:55:23 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; q=dns; s=default; b=U8B9l/Q8QeMuHPMXFHi YcmLt+vjJJiY2T9iv428B60tswvMpYbF0Mjujy3IMpL208XCGFLXwtuwrOPxg64i qXBUNkdnpVbzcCfVlqALtF9BrFYGeYVoWIDwLw2Y5eJeuF8NBtutLWHcftGVHq1N HtqF+M7ms+aadODWrQ4OxQ9o= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; s=default; bh=kHcY21bx3Arm2AptcgRFzAd8B WM=; b=ox7ceyGz8wJxQOJ/ve7yxye9Pgyy0mZ3VtQ+pBfF6QV3I5Ljh9WDjyoCo ixBdilRRDY4qZvMPxOUOHP9KjCoccktkY1PRxwUX5FOMDtxYiqMwiQfmtrEVF+1I 3uy/f3SUS6CFSyhk1ixvszgPMus3fq5ZjLOvkXrkGpqMijis/U= Received: (qmail 47119 invoked by alias); 12 Nov 2019 20:55:09 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 47066 invoked by uid 89); 12 Nov 2019 20:55:08 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-17.9 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=ccfpmode, CCFPmode X-HELO: gcc1-power7.osuosl.org Received: from gcc1-power7.osuosl.org (HELO gcc1-power7.osuosl.org) (140.211.15.137) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 12 Nov 2019 20:55:07 +0000 Received: by gcc1-power7.osuosl.org (Postfix, from userid 10019) id 5CF7B1240D6D; Tue, 12 Nov 2019 20:55:06 +0000 (UTC) From: Segher Boessenkool To: gcc-patches@gcc.gnu.org Cc: Segher Boessenkool Subject: [PATCH 1/2] rs6000: Handle unordered for xscmpexp[dq]p without NaNs (PR92449) Date: Tue, 12 Nov 2019 20:54:51 +0000 Message-Id: <0afa61fc0966d2a31a00da03af3f925305029aff.1573590370.git.segher@kernel.crashing.org> In-Reply-To: References: In-Reply-To: References: X-IsSubscribed: yes 2019-11-12 Segher Boessenkool * config/rs6000/vsx.md (xscmpexpdp_ for CMP_TEST): Handle UNORDERED if !HONOR_NANS (DFmode). (xscmpexpqp__ for CMP_TEST and IEEE128): Handle UNORDERED if !HONOR_NANS (mode). --- gcc/config/rs6000/vsx.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gcc/config/rs6000/vsx.md b/gcc/config/rs6000/vsx.md index aa13b20..3aa8e21 100644 --- a/gcc/config/rs6000/vsx.md +++ b/gcc/config/rs6000/vsx.md @@ -4526,6 +4526,12 @@ (define_expand "xscmpexpdp_" (const_int 0)))] "TARGET_P9_VECTOR" { + if ( == UNORDERED && !HONOR_NANS (DFmode)) + { + emit_move_insn (operands[0], const0_rtx); + DONE; + } + operands[3] = gen_reg_rtx (CCFPmode); }) @@ -4554,6 +4560,12 @@ (define_expand "xscmpexpqp__" (const_int 0)))] "TARGET_P9_VECTOR" { + if ( == UNORDERED && !HONOR_NANS (mode)) + { + emit_move_insn (operands[0], const0_rtx); + DONE; + } + operands[3] = gen_reg_rtx (CCFPmode); })