From patchwork Tue Dec 3 16:24:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Stubbs X-Patchwork-Id: 1203779 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-515073-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="o6eayIm0"; 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 47S6lr4Zy0z9s4Y for ; Wed, 4 Dec 2019 03:25:26 +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:to :from:subject:message-id:date:mime-version:content-type; q=dns; s=default; b=AReXACfXhnGo0uGjnboMq7AmShNudeoyC2YfWTQ6mSU3XgmoI0 xV42sTjFPXWjUPArrteuENO/UOZzP1mXz/SBKQTTTXxdvNhr/xLqPGtde4bLfQI6 zgkgOydAbu3XiSr3Kr3FGLOIlZjhz6VLCqCHDJDQV7T56tA3URXLmFdHQ= 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:to :from:subject:message-id:date:mime-version:content-type; s= default; bh=nuXp+JuEwdeY7zBc5/OdDJuOIYc=; b=o6eayIm0XMJzThbNZiVn VMNBhk02KRpaDx91ziKQ8pICgRuFHNUCV+npxRu+mu+UJCScSN8vWypFPymWYwqj LxNC+tF2ZTq2q858g3AaZD/VitpRRNlW1DAEbNl5zV0+lcGb5s9FilcrZWse1eWx lH99ouZaHjornP+aQT5enl0= Received: (qmail 79014 invoked by alias); 3 Dec 2019 16:25:17 -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 60571 invoked by uid 89); 3 Dec 2019 16:24:58 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.5 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= X-HELO: esa2.mentor.iphmx.com Received: from esa2.mentor.iphmx.com (HELO esa2.mentor.iphmx.com) (68.232.141.98) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 03 Dec 2019 16:24:56 +0000 IronPort-SDR: 0E0cf5JDJzC+U0mh9mCb1Kf5LAKJ87/HUix153d5JkBlYrmHoo8ZThA70GVUn134w7J4dF1TA6 cezTFCh7VyoGB53g5NEFd1DBW/V1YDSfrdV2EJx+J/djna4Hl+fsdn5xVL7bjx3qZ0OLXA7/pN sVEfmk6DQuCUuQQ1IZpXIDXF/wFpI/jjMS1SdMlPKJnVCgjrg/u4SyFvbrRJaXTZ4E6jdpksMJ /tDjbvduJvHf8jZQMKTKtD5Tu6zeG4H1mP/KVkbrcidmOuVVmn4DX8IqPFS/gbyPrD8cEojHPh PE8= Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 03 Dec 2019 08:24:51 -0800 IronPort-SDR: BrG/Xl9LeP80zhw51Ej9RzMi51MOet9Xs0ylF/WwnvrIDFdN3DrDV5ykUNfFUZvDK7S4BVCT3I is4Qbiv56jszLQiI7pYtRhZCd5fW73g8ItPxIjepbf9rYdaUEWG78BsEBP34LbLI9Tlx2QsOZQ 8h6C0FPc8XmDNFkVqiRQtpVUUwguxGqM9MyTqWUmdcOctxTxJ54P6knfEabZCr+t7Lxb8JZw8g mMVIcI4GB3oOgfE88n5Ry14m+PIDHgIA+eN9ZFhiuvojcObpU7jq9l6Y1JGUItdl+qC25gZ0en N9E= To: "gcc-patches@gcc.gnu.org" From: Andrew Stubbs Subject: [amdgcn] Add missing vcondu patterns Message-ID: Date: Tue, 3 Dec 2019 16:24:45 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 I've just committed the attached. The gcn vcondu patterns had accidentally omitted the proper variants for floating point modes. I believe this is intentional for the comparison mode, but not for the data mode. This omission caused testcase gcc.dg/vect/pr65947-10.c to ICE. That testcase now compiles, although not quite correctly, but that's another issue (pr92772). Andrew Add missing amdgcn vcondu patterns 2019-12-03 Andrew Stubbs gcc/ * config/gcn/gcn-valu.md: Change "vcondu" patterns to use VEC_1REG_MODE for the data mode. diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md index 66b822962ae..f3262e22a02 100644 --- a/gcc/config/gcn/gcn-valu.md +++ b/gcc/config/gcn/gcn-valu.md @@ -2596,10 +2596,10 @@ DONE; }) -(define_expand "vcondu" - [(match_operand:VEC_1REG_INT_MODE 0 "register_operand") - (match_operand:VEC_1REG_INT_MODE 1 "gcn_vop3_operand") - (match_operand:VEC_1REG_INT_MODE 2 "gcn_alu_operand") +(define_expand "vcondu" + [(match_operand:VEC_1REG_MODE 0 "register_operand") + (match_operand:VEC_1REG_MODE 1 "gcn_vop3_operand") + (match_operand:VEC_1REG_MODE 2 "gcn_alu_operand") (match_operator 3 "comparison_operator" [(match_operand:VEC_1REG_INT_ALT 4 "gcn_alu_operand") (match_operand:VEC_1REG_INT_ALT 5 "gcn_vop3_operand")])] @@ -2608,15 +2608,15 @@ rtx tmp = gen_reg_rtx (DImode); emit_insn (gen_vec_cmpdi (tmp, operands[3], operands[4], operands[5])); - emit_insn (gen_vcond_mask_di + emit_insn (gen_vcond_mask_di (operands[0], operands[1], operands[2], tmp)); DONE; }) -(define_expand "vcondu_exec" - [(match_operand:VEC_1REG_INT_MODE 0 "register_operand") - (match_operand:VEC_1REG_INT_MODE 1 "gcn_vop3_operand") - (match_operand:VEC_1REG_INT_MODE 2 "gcn_alu_operand") +(define_expand "vcondu_exec" + [(match_operand:VEC_1REG_MODE 0 "register_operand") + (match_operand:VEC_1REG_MODE 1 "gcn_vop3_operand") + (match_operand:VEC_1REG_MODE 2 "gcn_alu_operand") (match_operator 3 "comparison_operator" [(match_operand:VEC_1REG_INT_ALT 4 "gcn_alu_operand") (match_operand:VEC_1REG_INT_ALT 5 "gcn_vop3_operand")]) @@ -2626,7 +2626,7 @@ rtx tmp = gen_reg_rtx (DImode); emit_insn (gen_vec_cmpdi_exec (tmp, operands[3], operands[4], operands[5], operands[6])); - emit_insn (gen_vcond_mask_di + emit_insn (gen_vcond_mask_di (operands[0], operands[1], operands[2], tmp)); DONE; })