From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2088.outbound.protection.outlook.com [40.107.14.88]) by sourceware.org (Postfix) with ESMTPS id E6BBF3858416 for ; Mon, 6 Feb 2023 13:08:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E6BBF3858416 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z//KrM6nxnoZOyp5RpLl+KPk7ANRsAaYffQKCOU2PA4=; b=Aq6KxIJJmrLG5xKOCKOHRnAnI1wWgNnpJBEDOCi2L/DNti8bCn49G9dCHIsNCI+7t+p5SX5A0JVu7jP89CZrwfbscqppN8/z2+yT9EKEhUEWNCNAJQpGd5Xcu9Vk8jvIOR8KLB04ue9yYePn9PuyXIIDTwsV2YUsXcq9WzAg08E= Received: from DB6PR1001CA0035.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::21) by DB9PR08MB8697.eurprd08.prod.outlook.com (2603:10a6:10:3d3::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.27; Mon, 6 Feb 2023 13:08:03 +0000 Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:55:cafe::ab) by DB6PR1001CA0035.outlook.office365.com (2603:10a6:4:55::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34 via Frontend Transport; Mon, 6 Feb 2023 13:08:03 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DBAEUR03FT034.mail.protection.outlook.com (100.127.142.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.32 via Frontend Transport; Mon, 6 Feb 2023 13:08:03 +0000 Received: ("Tessian outbound 6e565e48ed4a:v132"); Mon, 06 Feb 2023 13:08:03 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 316d783650d1f8cb X-CR-MTA-TID: 64aa7808 Received: from ed5a2e115b69.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 7D0E2098-1EE6-4C3A-B9EC-80A1CA08603E.1; Mon, 06 Feb 2023 13:07:57 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ed5a2e115b69.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 06 Feb 2023 13:07:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=frR6nYF+rNXnPYTvA2AiX7ifbGg9hrmzZu3ygbStQqgiQu19mASW648GkP8XSxHoEtp0qE5wUImUO8iVk9BxBN4v2sACsnABd/MaAlFhfzB67Ch3OJUwIQP8qWm36taqV9lpQ94UIkYjtNCTeKmYl2IGPNiuk4KqoJ1oHvEjvaJ6htz2Q4jTxA0nexVqHgMcMYcY72DBUQ/Cuu08Er1n62lZAaI1ILPJkufudlc4IIRx7K8ko+yH0YUB08Le7EzS/KzCjmvoAKwRpyYn5vZ+mS1mLDPJWkHVIoBynie2r1hZ4FbP8539nppg7aUyJ7t153yBge32wgSQ/qIvRTF0aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Z//KrM6nxnoZOyp5RpLl+KPk7ANRsAaYffQKCOU2PA4=; b=PcOHBETXx5bxvw3Oei5ktRi7efOsEV4TqCx5CCLoA/zTYLOovVdVExEMkL7REJ5cyoqwvUTc5xoDQhyKExwsu96dee/DFI5e5qtzR31ZUq99Q1Mu7bZazQx9ru2bZbhQaWnKYXWdJOosuq+fr+eyd31GvymXL13DXDwh+mBx5pIYh7cIrvJnmgYk7UwbG1Bjh7fHKFRMUAqFrDmtJdz9s8Pp22/inlcy4G+yCejJ75Z83s1WjLgSkk72lFSlNgSFTODQjvY/YqqXkIzsoERJ0RMvIbt221f6iKL+xObMxkCierbqnp9Ma9dKzzjWUfc5H35FYG6EzxTawOClO5sQwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z//KrM6nxnoZOyp5RpLl+KPk7ANRsAaYffQKCOU2PA4=; b=Aq6KxIJJmrLG5xKOCKOHRnAnI1wWgNnpJBEDOCi2L/DNti8bCn49G9dCHIsNCI+7t+p5SX5A0JVu7jP89CZrwfbscqppN8/z2+yT9EKEhUEWNCNAJQpGd5Xcu9Vk8jvIOR8KLB04ue9yYePn9PuyXIIDTwsV2YUsXcq9WzAg08E= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from PAXPR08MB7201.eurprd08.prod.outlook.com (2603:10a6:102:20b::17) by GV1PR08MB8404.eurprd08.prod.outlook.com (2603:10a6:150:80::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Mon, 6 Feb 2023 13:07:54 +0000 Received: from PAXPR08MB7201.eurprd08.prod.outlook.com ([fe80::40bc:b698:5059:f02]) by PAXPR08MB7201.eurprd08.prod.outlook.com ([fe80::40bc:b698:5059:f02%3]) with mapi id 15.20.6064.034; Mon, 6 Feb 2023 13:07:54 +0000 Date: Mon, 6 Feb 2023 13:07:51 +0000 From: Alex Coplan To: gcc-patches@gcc.gnu.org Cc: Richard Earnshaw , Richard Sandiford , Kyrylo Tkachov Subject: [PATCH] aarch64: Fix up bfmlal lane pattern [PR104921] Message-ID: Content-Type: multipart/mixed; boundary="qBLHJycOt8NO9mQC" Content-Disposition: inline X-ClientProxiedBy: LO0P123CA0004.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:354::9) To PAXPR08MB7201.eurprd08.prod.outlook.com (2603:10a6:102:20b::17) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: PAXPR08MB7201:EE_|GV1PR08MB8404:EE_|DBAEUR03FT034:EE_|DB9PR08MB8697:EE_ X-MS-Office365-Filtering-Correlation-Id: 1ee6494c-4c5a-439a-6ded-08db08432e69 x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: djdKkYTH1m/Fx8/NMvJH1uPom51dp/yudgVpizMwyEZbLnhDm/CLK2fwSFEkk00gRLNIYINVOBcExPC5iP0d8HpHVvRnJes8kcjUONHhk1ziv5GtqkbYNRX1kwoIYSZ5PUtOZ/Wb8K8YjQj69jl007W3CbMTxDSs/VTLVzAsFqOMckCho7SQZdN8mYh62n5ELoF/fGNbf0dtoHdZTSP6zRwSa3W8vgx0TSk6YSGp1SP42ibFGKdEm7jpBj4HE/YfOWSBjspP+A3TvRrRQwmEFUpF3q4jW0SW539InWW7vd9N3QZa9FkKJL3zXakG+FXuByhLJypmQ2vziqtpwWOJmXh+ve2h2IM7TjR0lxPRjUQanwR5HWBhui7nAubk80+wE0ipvDHIUKIWCIUvF2KHHwUrE1yv7tbPsqVOh3aS1iDI7yOSL+7c/V6AucKCVSoJYyCRmab4TNptYMd256NOzKoKcblroJ4CvmZ6FSVPVvkAFKyuq1TTwVo/yEwthAOzrfOdJZxvD4jXPwuzOXSBbBJ9mOWMU7B562fQX5BgkUOGugxALkndFEY0E62ab+W/5a//cCG5w7IzxzMe6pysAXB78+041lM7VvE0zRzI3TvFwPB+h6t+S0B+plJ0se/Y7y66Ce9Wqezc3teGMugCQ5YWxNpbaToF3KXdWnl+vZNw75zBGgAj52RfYNAsc5JEn0TR64gMBW/+6sI7HcaAIPq3HuAUk5dHEckc3XfSKgh6B//any16SmNga4wn7AWXhZE9/Ldk6tZ80EmOCv0kk67dWsmimT6wa7p//uSSlf4= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7201.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(366004)(346002)(136003)(376002)(451199018)(2906002)(44832011)(36756003)(26005)(186003)(38100700002)(6506007)(6512007)(21480400003)(66476007)(41300700001)(66556008)(44144004)(4326008)(66946007)(2616005)(235185007)(86362001)(316002)(6916009)(5660300002)(8936002)(8676002)(6666004)(54906003)(478600001)(33964004)(6486002)(84970400001)(2700100001)(67856001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8404 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 8288a7fb-03ca-4695-2f82-08db084328cb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: HSXP9o9lXc4TWXeSJm2InobfaZS7U7P9cJx4VMNas3O8A4Zi6Vn25hZoEwLuM+QYyiMkxED9+Ek+gKy1m5WmA6n5drQmZMogsz/MrbHf+iO0WbexyJBtFek8CIIk8GY+eQIsgs5X/anViQ34K9vxYkOSWqAJvs/jYxhON6lNenWBMJKwxp1Ypcd/ygh2uP2CXGGsyvWLmFY4KkbwFiBsdaokAsmOI68CK6moe9UYS+L3ixM6+JNeE5gYNiLI4gzqVOBElnp7bOLdUXVqLRq3D2hD1Y21dYt5pPX0XrYmKBgJ3whIynmSuPlNbUTyNmlDZq2AH7VcUk/TmSVuA1vfm75bQytRbsdM8b1mnqg5btbFnXvhKh+GOy5Twec+8pC8zL89zvWr6rGMxJJUaW7/kKLOv8S6+Hneaf/Z0mHrfD0l5N1J/GAbqCC8Ps0LUCef+aL4mWpHPEj7E2N5KWGn8msfibIvlkxjXgv66rMf9BwpI1MRZhvmT0Zt7QekxRK3WCj6H2VE0mFOia6Fbdu7D//CTwJGYa7DCGekdMHZ0/PFfbHVCNGh0lNYKfe35vTv8MgocbFQZgrgLDKfZD8VbA6KcRxunGAvj7pvbaC4YabOlLJ9K712ZpdcjcafQrb5LUsXu3DAqoowYducJTUjvWhVTJJ3i5ob4Bpue+JjB7oWQC5PRfvADwI8VQBR8E+GX45tZ5/HsczjM4VepkwsRYHaptGV/i+bcNdrkbWoZ4mm/+fxM5c1eUUrJIecA6yn3D3tSSNVwKKbFchwb323ZLBWDiQ3bR9EJz6RrQ/2N2HKHirW68XIr6RajgRABS67QCQMGJAqkcVEnvBbmB600w== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199018)(40470700004)(46966006)(36840700001)(6512007)(47076005)(186003)(33964004)(26005)(82310400005)(84970400001)(356005)(2906002)(36860700001)(478600001)(6486002)(86362001)(2616005)(21480400003)(235185007)(44832011)(54906003)(6666004)(5660300002)(44144004)(8936002)(8676002)(316002)(6506007)(40480700001)(36756003)(4326008)(82740400003)(70586007)(41300700001)(70206006)(81166007)(336012)(40460700003)(6916009)(2700100001)(67856001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2023 13:08:03.7393 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1ee6494c-4c5a-439a-6ded-08db08432e69 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8697 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_NONE,TXREP,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --qBLHJycOt8NO9mQC Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hi, As the testcase shows, this pattern had an incorrect constraint leading to GCC's output getting rejected by the assembler. This patch fixes the constraint accordingly. The test is split into two: one that can run without bf16 support from the assembler and another that checks that the output actually assembles when such support is available. Bootstrapped/regtested on aarch64-linux-gnu. OK for GCC 13? Or better to wait for next stage 1? What about backports? Thanks, Alex gcc/ChangeLog: PR target/104921 * config/aarch64/aarch64-simd.md (aarch64_bfmlal_lanev4sf): Use correct constraint for operand 3. gcc/testsuite/ChangeLog: PR target/104921 * gcc.target/aarch64/pr104921-1.c: New test. * gcc.target/aarch64/pr104921-2.c: New test. * gcc.target/aarch64/pr104921.x: Include file for new tests. --qBLHJycOt8NO9mQC Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="patch.txt" diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 7f212bf37cd..dd5eed387f2 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -9153,7 +9153,7 @@ (define_insn "aarch64_bfmlal_lanev4sf" [(set (match_operand:V4SF 0 "register_operand" "=w") (plus: V4SF (match_operand:V4SF 1 "register_operand" "0") (unspec:V4SF [(match_operand:V8BF 2 "register_operand" "w") - (match_operand:VBF 3 "register_operand" "w") + (match_operand:VBF 3 "register_operand" "x") (match_operand:SI 4 "const_int_operand" "n")] BF_MLA)))] "TARGET_BF16_SIMD" diff --git a/gcc/testsuite/gcc.target/aarch64/pr104921-1.c b/gcc/testsuite/gcc.target/aarch64/pr104921-1.c new file mode 100644 index 00000000000..dcf6fe7d90d --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr104921-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-O2 -march=armv8.2-a+bf16 -std=gnu99 -save-temps" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include "pr104921.x" + +/* +**foo: +** mov v([0-9]|1[0-5])\.8b, v16\.8b +** bfmlalb v0\.4s, v1\.8h, v([0-9]|1[0-5])\.h\[0\] +** ret +*/ diff --git a/gcc/testsuite/gcc.target/aarch64/pr104921-2.c b/gcc/testsuite/gcc.target/aarch64/pr104921-2.c new file mode 100644 index 00000000000..211fcd0aca9 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr104921-2.c @@ -0,0 +1,6 @@ +/* { dg-do assemble } */ +/* { dg-add-options arm_v8_2a_bf16_neon } */ +/* { dg-additional-options "-O2 -std=gnu99" } */ +/* { dg-require-effective-target arm_v8_2a_bf16_neon_ok } */ + +#include "pr104921.x" diff --git a/gcc/testsuite/gcc.target/aarch64/pr104921.x b/gcc/testsuite/gcc.target/aarch64/pr104921.x new file mode 100644 index 00000000000..1e1a6f24e22 --- /dev/null +++ b/gcc/testsuite/gcc.target/aarch64/pr104921.x @@ -0,0 +1,9 @@ +#include + +float32x4_t +foo(float32x4_t x, bfloat16x8_t a) +{ + register bfloat16x4_t b asm ("v16"); + asm volatile ("" : "=w"(b)); + return vbfmlalbq_lane_f32 (x, a, b, 0); +} --qBLHJycOt8NO9mQC--