From patchwork Wed Nov 10 11:28:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Przemyslaw Wirkus X-Patchwork-Id: 47388 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 8A9D63857C42 for ; Wed, 10 Nov 2021 11:28:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8A9D63857C42 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1636543731; bh=73/G1jHKHZQm/6/oP6ALIddCoiSgSS3mBAp6wkBS3NM=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=ps6Nr6kSw+4OEyN9Z6nU1iMObsis7HUt8Wobxz/3m7p5IoS8t4gxs5uEykSmK1g98 d+iLfReMmpBiyjDopzr/OwYMCXZLR4mqBIWE7Xu/T9QPmnWCYDQ0FyA1Ck2Sx4JUca 0GIJejDuWFq63zVM/DZmtPHrYtHXZcuyRBDDoZ3M= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2066.outbound.protection.outlook.com [40.107.21.66]) by sourceware.org (Postfix) with ESMTPS id EB2AB3858404 for ; Wed, 10 Nov 2021 11:28:19 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org EB2AB3858404 Received: from AM6PR0202CA0053.eurprd02.prod.outlook.com (2603:10a6:20b:3a::30) by AM8PR08MB5681.eurprd08.prod.outlook.com (2603:10a6:20b:1dd::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.10; Wed, 10 Nov 2021 11:28:18 +0000 Received: from VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:3a:cafe::45) by AM6PR0202CA0053.outlook.office365.com (2603:10a6:20b:3a::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11 via Frontend Transport; Wed, 10 Nov 2021 11:28:18 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT017.mail.protection.outlook.com (10.152.18.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Wed, 10 Nov 2021 11:28:17 +0000 Received: ("Tessian outbound 4ce13939bd4a:v108"); Wed, 10 Nov 2021 11:28:17 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b20a4e5928e6bda9 X-CR-MTA-TID: 64aa7808 Received: from 9bec13a13fb4.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 185C1D31-A344-4977-B968-7E0F66A78D68.1; Wed, 10 Nov 2021 11:28:05 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9bec13a13fb4.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 10 Nov 2021 11:28:05 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=agby7QYF8nADcxpO5iC0JI4PA9OoqHsSGoCbXvJE/ev+2AfcMke3IjpMOblCccK+WXba2ivfFgvHgTULluHutAssmOT1yvtbuXDEJYWfztf7exdNlyXv4ZpNNSYM4WG9TorvF0SLe5FWqjP8itYEUlYJ+uZh5zPxLj5NuJyJXHxgFuENXlR92uv/t9pLp8ZCCJRbAms3NO1UWA6/U/MwUWYefZdUSWYSI3GyGfPm5j0DMC3tCVQVOJot0Mr4uE1HNK5aQ9F0h8qk7cWTxdehv34OntYBlnLlKdpbiTgBWR/mYYShE8JjZZIaX+VG5QfDPeKlWpC/AUOt/9K7gceQXA== 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=73/G1jHKHZQm/6/oP6ALIddCoiSgSS3mBAp6wkBS3NM=; b=AXhSOWYYBJyqO2cqqjwfgiNabmD8Na+HAag1LhXJekphL39PpAt6WbSeS3ZpQd/J6NGExm0siNi1FHf7bwkPdZxnvQVOYbVJXsUElNx0adKlr7kKho+PckGBgmfHsa35ihaoeriv1AcOArrN/O9G1l07shul6uHpT+1DyYJQ2viWkzM2s1vJaWhc1nPyYsfApIyKeB0NPaLn2FJzp1mPZ26vHBofxfD//v7r9+/hilP3cbEEvx1K69gCXYjd92xobwf859HrPBY8JZcAQ54zKQzbrj05jy5IvmfGCr4KlWgr/Cyin2j1BmbIPiwYiyKxlVTVURa8E5Z9cqlfQtn/nw== 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 Received: from PAXPR08MB6621.eurprd08.prod.outlook.com (2603:10a6:102:dc::17) by PR2PR08MB4825.eurprd08.prod.outlook.com (2603:10a6:101:27::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.13; Wed, 10 Nov 2021 11:28:04 +0000 Received: from PAXPR08MB6621.eurprd08.prod.outlook.com ([fe80::fcc0:4974:d8f3:9d2f]) by PAXPR08MB6621.eurprd08.prod.outlook.com ([fe80::fcc0:4974:d8f3:9d2f%7]) with mapi id 15.20.4669.015; Wed, 10 Nov 2021 11:28:03 +0000 To: "gcc-patches@gcc.gnu.org" Subject: [PATCH][GCC] aarch64: Add new vector mode V8DI Thread-Topic: [PATCH][GCC] aarch64: Add new vector mode V8DI Thread-Index: AQHX1iVTBd9hxCxGzkm+bqivEO4i4A== Date: Wed, 10 Nov 2021 11:28:03 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: suggested_attachment_session_id: 14a8378a-51e1-f267-ccb4-349bbb490c01 Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 841ee074-95b1-4c90-8630-08d9a43d316a x-ms-traffictypediagnostic: PR2PR08MB4825:|AM8PR08MB5681: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:569;OLM:569; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Y5I9ua/jl55/3GO8A8fi8mRgd1y5fbo2YyNor6ldOWS7nxzbqcf+Cn7TVPBnszrCqR1Mg5iIC7eBnh2wu9vf4T+rRGrqWBbN5b0JZ6rhgen0J89YmVlCoq0tm7eQxJ4f0XjwuhLoQdTTE+zwyGuwDx9eHo48VGh9LRBwzQEfWzpqzy1Cq7OqSbgCvxgyD3GAIu8uR0HqIvNyo/0zVVmBzZp7M0nQCy/sv3OvKJwcWH2x2PAsjHeESLtVa/iMPRFEiRcj3/OtgURj9Fx73jjH/QSELOPCDXqS+ZnyZOPVnPcsnNhdpyp9g58falHV2HvIDcKSYDdWAPPhjT6ytRNZ+GV1a+YztZO1FLavSjx75AffVE40uk8A0UnKhH4SpwRIOfTkRoPaApPckxeFxxQB9iDai4v14wlnU+9GqjacZDfnYX29ha+mKZQVAukSHh0b2+F86O9PmlN+lVL89j+AHxErxjJ+93cL0XyYp7sd18Xge75iZhtGtqdTH1Nd7VGvlxtkQhcYWnl7Pd8V1bACNzTO7r3C0+QhsSjgXm7TXEZEx0ecgU2+xt4+GShTrPNMTJWcAUPBLnz4d2u/XA/6vzLjXPBzzDD0rtoY5saK5um2hiIgoLTFn8jLeLuDJ+J818Qyh/HYMvtGO6JQb/aiuRnMPXIauuS1FeIRO1NXZWQxRYbYd2Y92iNTkU6FYxbv8pBLg4SnCD9rWGtPbUeSBLL/Ag76tcy1jkMyAR0jPWM= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR08MB6621.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(38070700005)(2906002)(7696005)(33656002)(6506007)(26005)(9686003)(38100700002)(55016002)(71200400001)(508600001)(66556008)(66476007)(186003)(122000001)(66946007)(64756008)(4326008)(66446008)(8936002)(86362001)(5660300002)(8676002)(52536014)(6916009)(54906003)(316002)(4001150100001)(76116006)(32563001); DIR:OUT; SFP:1101; MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4825 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: VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c4ad37c7-2869-41a7-18e2-08d9a43d2926 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 64UpzKiIQrJXzk2GvSY6reSVrrYKfsgfZ92rVEzrEfeW3noLEapA2PEoUVori7lEMZqx5pTy6QRnFcM55GfJLAHJ3e/eYbd4kUXf3binQlOmuQRBPI3851Qtnk2vz/4DrGFG8PtIFaHRs3WVLJrckCKGF1aToaeEnWNf8vp7m1gNeNCK/p1ySVvCKObohiVM/Z6D4d40fZy+g6ozbKjZnk7hKFmaoLpWru1d/x6/h5RXWZd3d/8XVWNH0AbOgUhcZsOa5e5Fm+ZIQCTLDlUNahhhxQJ0+rYEaIO2JDZgVZIC25Zw3BW7Mec2lNT4wKn5AShf31R8J0YOKxn/LDh7OI95vM0I/hCgv/WtCiFm+0g7px1qzU51RMPZXTYYLFsOwK1nNUU3VADyr3wyKUQCS6Zn+mwsddFaShda56S8bF7Nd0NThIehuaRPgjPZ/R5q4CSUnUuGszxHL8Jm8+31AklIGBPve+I7tgF/MdggSHS/SToTSiuZr6nY+hphiY13mxjmInm4+RLeCFbNAuh6LzmAp+BUOytOaAOu4LTdi9L7Wa5HYGu2kzDKU7eAFXerbxCd9x/vkLU+EjC5L0lk3GEBjpyX8SQ/UAs+RCN7kA1km0UdUB1f6VoHN3fGKEYX5ttoONa/wqKqNW7FibkAVfwPE+Id12fsej17SjwKxw7UX2LBY/WxQVEXitYijjBcJ6ulAOE8ZqzsdTqeqF0So3QulzSUhFGPCZZ75CYedg4= 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:(4636009)(36840700001)(46966006)(186003)(8676002)(6506007)(508600001)(33656002)(52536014)(316002)(36860700001)(356005)(8936002)(6916009)(47076005)(81166007)(336012)(2906002)(54906003)(82310400003)(9686003)(5660300002)(70586007)(4326008)(70206006)(86362001)(7696005)(4001150100001)(55016002)(26005)(32563001); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2021 11:28:17.7571 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 841ee074-95b1-4c90-8630-08d9a43d316a 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: VE1EUR03FT017.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5681 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_LOTSOFHASH, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Przemyslaw Wirkus via Gcc-patches From: Przemyslaw Wirkus Reply-To: Przemyslaw Wirkus Cc: Richard Earnshaw , Richard Sandiford , Marcus Shawcroft Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" Hi, This patch is adding new V8DI mode which will be used with new Armv8.7-A LS64 extension intrinsics. Regtested on aarch64-elf and no issues. OK for master? gcc/ChangeLog: 2021-11-10 Przemyslaw Wirkus * config/aarch64/aarch64-modes.def (VECTOR_MODE): New V8DI mode. * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Handle V8DImode. * config/aarch64/iterators.md (define_mode_attr nunits): Add entry for V8DI. Kind regards, Przemyslaw Wirkus diff --git a/gcc/config/aarch64/aarch64-modes.def b/gcc/config/aarch64/aarch64-modes.def index ac97d222789c6701d858c014736f8c211512a4d9..62595b8af6e1eea8fc769885bba9fe54f0a9ec05 100644 --- a/gcc/config/aarch64/aarch64-modes.def +++ b/gcc/config/aarch64/aarch64-modes.def @@ -81,6 +81,11 @@ INT_MODE (OI, 32); INT_MODE (CI, 48); INT_MODE (XI, 64); +/* V8DI mode. */ +VECTOR_MODE_WITH_PREFIX (V, INT, DI, 8, 5); \ + \ + ADJUST_ALIGNMENT (V8DI, 8); + /* Define Advanced SIMD modes for structures of 2, 3 and 4 d-registers. */ #define ADV_SIMD_D_REG_STRUCT_MODES(NVECS, VB, VH, VS, VD) \ VECTOR_MODES_WITH_PREFIX (V##NVECS##x, INT, 8, 3); \ diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 69f08052ce808c140ed2933ab6b2e2617ca6f669..0e102a83a8dc34e715fafb58169897b12c9b3a20 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -3376,6 +3376,9 @@ aarch64_hard_regno_nregs (unsigned regno, machine_mode mode) static bool aarch64_hard_regno_mode_ok (unsigned regno, machine_mode mode) { + if (mode == V8DImode) + return IN_RANGE (regno, R0_REGNUM, R23_REGNUM); + if (GET_MODE_CLASS (mode) == MODE_CC) return regno == CC_REGNUM; diff --git a/gcc/config/aarch64/iterators.md b/gcc/config/aarch64/iterators.md index bdc8ba3576cf2c9b4ae96b45a382234e4e25b13f..cea277f3a03cfd20178e51e6abd7e256e206299f 100644 --- a/gcc/config/aarch64/iterators.md +++ b/gcc/config/aarch64/iterators.md @@ -1053,7 +1053,7 @@ (define_mode_attr vas [(DI "") (SI ".2s")]) (define_mode_attr nunits [(V8QI "8") (V16QI "16") (V4HI "4") (V8HI "8") (V2SI "2") (V4SI "4") - (V2DI "2") + (V2DI "2") (V8DI "8") (V4HF "4") (V8HF "8") (V4BF "4") (V8BF "8") (V2SF "2") (V4SF "4")