From patchwork Wed Mar 6 13:49:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Schwinge X-Patchwork-Id: 86876 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 954503858032 for ; Wed, 6 Mar 2024 13:50:00 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com [IPv6:2a00:1450:4864:20::633]) by sourceware.org (Postfix) with ESMTPS id 915A13858030 for ; Wed, 6 Mar 2024 13:49:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 915A13858030 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=baylibre.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 915A13858030 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2a00:1450:4864:20::633 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709732974; cv=none; b=lYen0T7z8Fr0U1MGoLkzGA46QhgV45qojOScEREbltYn5IjrEyoq5WXbQprj7Wcc8N8Uzv0RzF+U8KIIZgwNFto0TfssEZOvSA+h24+0YqDbBylSlZ+jIFOqgr3Av1Yopcne7TXcUhRtexrXISwbJbkGeI699d1ST+bQyDiuUB4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709732974; c=relaxed/simple; bh=JoYyjRVKTi3r5KvlVpYqY1MJ1Ju3SUBywZO0BcuYEf8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=cvIvVLUz1ZDD7+BJzdceGnKMjFfoxGXAkmnY1BH/dZ62W8siOHZSDZ8MBJtbmHzj1yALKGAoKEun43pQyYDI8reHP1bXsuEjeqmCdt1/hF4Id9TObSeVkNVckJySm1zj3/eNg01TMKDfn4QECUKs7KI6QOH0HagNTtOQPMdA81w= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ej1-x633.google.com with SMTP id a640c23a62f3a-a45606c8444so401257566b.3 for ; Wed, 06 Mar 2024 05:49:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1709732970; x=1710337770; darn=gcc.gnu.org; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=YHxwYssiF3hRBpa9f9l2OSBB+8ff6ON7HMrx+BYvgOk=; b=ox7k4lSltQJ2G84rLePldZiDg1YyFTIoGL6wrqD2/tbg7D7MAJO+2ecUHU1xr0aEmF ElnEky86+8C9hTFky/zT9KveeYiV6THM+TlINDkD2bps26rkswfkjVnc/CiRPKZ/NJgE Ehy+GfUqwgrA3H0VtQgEFZnaw07ID2pMduOEqrXrZ3mBLKWs3hbqY6rTGNVHRHCHJKZt wxi1Pyl2CcvgJzRWMnVSaP32GNaGEic1kSbDYNIAa2Hsb89v1uts0cUw69++XzmB4HsS Va1j6fxVHa2Ce/4qIPIYlPlvGt+vaR0hh21XANeFvpQDpb0vBuInD5xHnL2xXcBHHb8d ObyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709732970; x=1710337770; h=mime-version:message-id:date:user-agent:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=YHxwYssiF3hRBpa9f9l2OSBB+8ff6ON7HMrx+BYvgOk=; b=H2r9hRw2lq2aYVEowBa/4zyd7I/v8dmTP7RkhIfzYkUqeESe43PbJcYCZO9m+k5aUv ++IkSkZUHzVOGcZjhGOvDwq3978hDJbXeqr7T84quRfF7FvK1qvtnChDmz/bUVovfxZO UQzS2QZBvjAS6tsoVZ94iJ0xAmCd6QtI+KbPGS/i4FPfo+pqTT6CiRjsb6yEajHQVv2N 7Fb7XDC03q5xdxovMIaPcAwBFfO7qRMV8eTGrtoC5UQoCoVlXWK7DD2/ut4biTM7cdvB PzAapGsr7uoD5YU9sFaPucQ/cokp9SPQHxRUvZ9dPTCfdONG9jTQFQDkTwV5AttNY/nl 5OMA== X-Forwarded-Encrypted: i=1; AJvYcCVTdy4R8fGKuWoYKjsHPDbjKqSC1gcMvlaxT6WZI1ZPF2PfdL4D5369me4v9mqdbH8rtoPl4pPoZiaV0+b+Y9QByL5L/kPo0Q== X-Gm-Message-State: AOJu0YxjaEKwtOvsGsRe5bnPUmlHPf513Lc8ClYXmXjUJ4o2973rzyIB /gXInvQUyHZkIwaKuGu7dcej4tm0oaV7G6+EsZYPIZa2gbTVvYY3dhT4GIwfjkE= X-Google-Smtp-Source: AGHT+IEJ253+V7ysnaKlPwYSGFNg8bOuM3b1JKilUn57DJNuif1xfIQjoDSlgccowRvqXKUCBmvyjw== X-Received: by 2002:a17:906:81cf:b0:a45:b3f5:8229 with SMTP id e15-20020a17090681cf00b00a45b3f58229mr1838859ejx.40.1709732970054; Wed, 06 Mar 2024 05:49:30 -0800 (PST) Received: from euler.schwinge.homeip.net (p200300c8b70336000b0134869109dcb1.dip0.t-ipconnect.de. [2003:c8:b703:3600:b01:3486:9109:dcb1]) by smtp.gmail.com with ESMTPSA id rp25-20020a170906d97900b00a3d665c6778sm7281686ejb.12.2024.03.06.05.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Mar 2024 05:49:29 -0800 (PST) From: Thomas Schwinge To: Andrew Stubbs , gcc-patches@gcc.gnu.org Cc: Richard Biener Subject: amdgcn: additional gfx1030/gfx1100 support: adjust test cases (was: [PATCH] amdgcn: additional gfx1100 support) In-Reply-To: <20240124124304.1780645-1-ams@baylibre.com> References: <20240124124304.1780645-1-ams@baylibre.com> User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/29.1 (x86_64-pc-linux-gnu) Date: Wed, 06 Mar 2024 14:49:16 +0100 Message-ID: <87edcnjwrn.fsf@euler.schwinge.ddns.net> MIME-Version: 1.0 X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Hi! On 2024-01-24T12:43:04+0000, Andrew Stubbs wrote: > This [...] ... became commit 99890e15527f1f04caef95ecdd135c9f1a077f08 "amdgcn: additional gfx1030/gfx1100 support", and included the following: > --- a/gcc/config/gcn/gcn-valu.md > +++ b/gcc/config/gcn/gcn-valu.md > @@ -3555,30 +3555,63 @@ > ;; }}} > ;; {{{ Int/int conversions > > +(define_code_iterator all_convert [truncate zero_extend sign_extend]) > (define_code_iterator zero_convert [truncate zero_extend]) > (define_code_attr convop [ > (sign_extend "extend") > (zero_extend "zero_extend") > (truncate "trunc")]) > > -(define_insn "2" > +(define_expand "2" > + [(set (match_operand:V_INT_1REG 0 "register_operand" "=v") > + (all_convert:V_INT_1REG > + (match_operand:V_INT_1REG_ALT 1 "gcn_alu_operand" " v")))] > + "") > + > +(define_insn "*_sdwa" > [(set (match_operand:V_INT_1REG 0 "register_operand" "=v") > (zero_convert:V_INT_1REG > (match_operand:V_INT_1REG_ALT 1 "gcn_alu_operand" " v")))] > - "" > + "!TARGET_RDNA3" > "v_mov_b32_sdwa\t%0, %1 dst_sel: dst_unused:UNUSED_PAD src0_sel:" > [(set_attr "type" "vop_sdwa") > (set_attr "length" "8")]) > > -(define_insn "extend2" > +(define_insn "extend_sdwa" > [(set (match_operand:V_INT_1REG 0 "register_operand" "=v") > (sign_extend:V_INT_1REG > (match_operand:V_INT_1REG_ALT 1 "gcn_alu_operand" " v")))] > - "" > + "!TARGET_RDNA3" > "v_mov_b32_sdwa\t%0, sext(%1) src0_sel:" > [(set_attr "type" "vop_sdwa") > (set_attr "length" "8")]) > > +(define_insn "*_shift" > + [(set (match_operand:V_INT_1REG 0 "register_operand" "=v") > + (all_convert:V_INT_1REG > + (match_operand:V_INT_1REG_ALT 1 "gcn_alu_operand" " v")))] > + "TARGET_RDNA3" > + { > + enum {extend, zero_extend, trunc}; > + rtx shiftwidth = (mode == QImode > + || mode == QImode > + ? GEN_INT (24) > + : mode == HImode > + || mode == HImode > + ? GEN_INT (16) > + : NULL); > + operands[2] = shiftwidth; > + > + if (!shiftwidth) > + return "v_mov_b32 %0, %1"; > + else if ( == extend || == trunc) > + return "v_lshlrev_b32\t%0, %2, %1\;v_ashrrev_i32\t%0, %2, %0"; > + else > + return "v_lshlrev_b32\t%0, %2, %1\;v_lshrrev_b32\t%0, %2, %0"; > + } > + [(set_attr "type" "mult") > + (set_attr "length" "8")]) OK to push the attached "amdgcn: additional gfx1030/gfx1100 support: adjust test cases"? Tested 'gcn.exp' for all '-march'es. Grüße Thomas From 04b83e9aa19b02b9805e03f31db14325bb00e737 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 4 Mar 2024 10:40:39 +0100 Subject: [PATCH] amdgcn: additional gfx1030/gfx1100 support: adjust test cases The "SDWA" changes in commit 99890e15527f1f04caef95ecdd135c9f1a077f08 "amdgcn: additional gfx1030/gfx1100 support" caused a few regressions: PASS: gcc.target/gcn/sram-ecc-3.c (test for excess errors) [-PASS:-]{+FAIL:+} gcc.target/gcn/sram-ecc-3.c scan-assembler zero_extendv64qiv64si2 PASS: gcc.target/gcn/sram-ecc-4.c (test for excess errors) [-PASS:-]{+FAIL:+} gcc.target/gcn/sram-ecc-4.c scan-assembler zero_extendv64hiv64si2 PASS: gcc.target/gcn/sram-ecc-7.c (test for excess errors) [-PASS:-]{+FAIL:+} gcc.target/gcn/sram-ecc-7.c scan-assembler zero_extendv64qiv64si2 PASS: gcc.target/gcn/sram-ecc-8.c (test for excess errors) [-PASS:-]{+FAIL:+} gcc.target/gcn/sram-ecc-8.c scan-assembler zero_extendv64hiv64si2 Those test cases need corresponding adjustment. gcc/testsuite/ * gcc.target/gcn/sram-ecc-3.c: Adjust. * gcc.target/gcn/sram-ecc-4.c: Likewise. * gcc.target/gcn/sram-ecc-7.c: Likewise. * gcc.target/gcn/sram-ecc-8.c: Likewise. --- gcc/testsuite/gcc.target/gcn/sram-ecc-3.c | 2 +- gcc/testsuite/gcc.target/gcn/sram-ecc-4.c | 2 +- gcc/testsuite/gcc.target/gcn/sram-ecc-7.c | 2 +- gcc/testsuite/gcc.target/gcn/sram-ecc-8.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/gcc.target/gcn/sram-ecc-3.c b/gcc/testsuite/gcc.target/gcn/sram-ecc-3.c index 692d4578b66..bc89e3542d2 100644 --- a/gcc/testsuite/gcc.target/gcn/sram-ecc-3.c +++ b/gcc/testsuite/gcc.target/gcn/sram-ecc-3.c @@ -18,4 +18,4 @@ f () a[n] = b[n]; } -/* { dg-final { scan-assembler "zero_extendv64qiv64si2" } } */ +/* { dg-final { scan-assembler "(\\\*zero_extendv64qiv64si_sdwa|\\\*zero_extendv64qiv64si_shift)" } } */ diff --git a/gcc/testsuite/gcc.target/gcn/sram-ecc-4.c b/gcc/testsuite/gcc.target/gcn/sram-ecc-4.c index 61b8d552759..ff7e2d0bda5 100644 --- a/gcc/testsuite/gcc.target/gcn/sram-ecc-4.c +++ b/gcc/testsuite/gcc.target/gcn/sram-ecc-4.c @@ -18,4 +18,4 @@ f () a[n] = b[n]; } -/* { dg-final { scan-assembler "zero_extendv64hiv64si2" } } */ +/* { dg-final { scan-assembler "(\\\*zero_extendv64hiv64si_sdwa|\\\*zero_extendv64hiv64si_shift)" } } */ diff --git a/gcc/testsuite/gcc.target/gcn/sram-ecc-7.c b/gcc/testsuite/gcc.target/gcn/sram-ecc-7.c index 9d0ce6f6b5a..8d363970ffb 100644 --- a/gcc/testsuite/gcc.target/gcn/sram-ecc-7.c +++ b/gcc/testsuite/gcc.target/gcn/sram-ecc-7.c @@ -18,4 +18,4 @@ f () a[n] = b[n]; } -/* { dg-final { scan-assembler "zero_extendv64qiv64si2" } } */ +/* { dg-final { scan-assembler "(\\\*zero_extendv64qiv64si_sdwa|\\\*zero_extendv64qiv64si_shift)" } } */ diff --git a/gcc/testsuite/gcc.target/gcn/sram-ecc-8.c b/gcc/testsuite/gcc.target/gcn/sram-ecc-8.c index 76e02882798..a2b25076ed1 100644 --- a/gcc/testsuite/gcc.target/gcn/sram-ecc-8.c +++ b/gcc/testsuite/gcc.target/gcn/sram-ecc-8.c @@ -18,4 +18,4 @@ f () a[n] = b[n]; } -/* { dg-final { scan-assembler "zero_extendv64hiv64si2" } } */ +/* { dg-final { scan-assembler "(\\\*zero_extendv64hiv64si_sdwa|\\\*zero_extendv64hiv64si_shift)" } } */ -- 2.34.1