From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1461) id 4CD273895FD7; Wed, 12 Oct 2022 10:46:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4CD273895FD7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1665571579; bh=+/OlqG7Ge0a0VM/8qErfZilSsde59jHd0osc8E28ZlI=; h=From:To:Subject:Date:From; b=agmbhmudd19mWl924urxP1ND6HnZdOIAs87nSHUzJzHCZRL8jxldIgu+Udv5u67D2 NQwqxUMLv3AZnONqlgeLEOpUYOso53/OmJg/LMdXLBQibsuwopcjVkE+ITweor6h6A 0qqtB6YT91Q4Ed6aLiehANoPOwSIbja8lb8JqLZg= Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Andrew Stubbs To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-12] amdgcn: Add vector integer negate insn X-Act-Checkin: gcc X-Git-Author: Andrew Stubbs X-Git-Refname: refs/heads/devel/omp/gcc-12 X-Git-Oldrev: dd528a4922fcf6c18548d0cb4789272793ebf1c1 X-Git-Newrev: a199fcd8bb00be552c49ea2ddc6510f6e383c3b7 Message-Id: <20221012104619.4CD273895FD7@sourceware.org> Date: Wed, 12 Oct 2022 10:46:19 +0000 (GMT) List-Id: https://gcc.gnu.org/g:a199fcd8bb00be552c49ea2ddc6510f6e383c3b7 commit a199fcd8bb00be552c49ea2ddc6510f6e383c3b7 Author: Andrew Stubbs Date: Thu Sep 22 12:48:30 2022 +0100 amdgcn: Add vector integer negate insn Another example of the vectorizer needing explicit insns where the scalar expander just works. gcc/ChangeLog: * config/gcn/gcn-valu.md (neg2): New define_expand. Diff: --- gcc/ChangeLog.omp | 7 +++++++ gcc/config/gcn/gcn-valu.md | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index c388c4833f5..7dcc2202072 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,3 +1,10 @@ +2022-10-12 Andrew Stubbs + + Backport from mainline: + 2022-10-11 Andrew Stubbs + + * config/gcn/gcn-valu.md (neg2): New define_expand. + 2022-10-12 Andrew Stubbs Backport from mainline: diff --git a/gcc/config/gcn/gcn-valu.md b/gcc/config/gcn/gcn-valu.md index 3e7434a02a8..9691ff480ce 100644 --- a/gcc/config/gcn/gcn-valu.md +++ b/gcc/config/gcn/gcn-valu.md @@ -2393,6 +2393,19 @@ [(set_attr "type" "vop2,ds") (set_attr "length" "8,8")]) +;; }}} +;; {{{ Int unops + +(define_expand "neg2" + [(match_operand:V_INT 0 "register_operand") + (match_operand:V_INT 1 "register_operand")] + "" + { + emit_insn (gen_sub3 (operands[0], gcn_vec_constant (mode, 0), + operands[1])); + DONE; + }) + ;; }}} ;; {{{ FP binops - special cases