From patchwork Tue Jan 2 09:23:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ezra Sitorus X-Patchwork-Id: 184292 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp4346244dyb; Tue, 2 Jan 2024 01:25:50 -0800 (PST) X-Google-Smtp-Source: AGHT+IEBaACwkS6qQN3VXh9dip43sf8IQu+7DnwRMTHJll6uNzCxhnHAHqprVHgOVshV3DZBITF/ X-Received: by 2002:a05:620a:2987:b0:781:e1c8:6389 with SMTP id r7-20020a05620a298700b00781e1c86389mr39899qkp.1.1704187550643; Tue, 02 Jan 2024 01:25:50 -0800 (PST) ARC-Seal: i=4; a=rsa-sha256; t=1704187550; cv=pass; d=google.com; s=arc-20160816; b=GD1le4OOyGmsarEvCL+0seJ4h5TXdO/w4LI2j/l3b63qCBqw/YsHxrgoaj1m7Hh4cy LFY3K21zKHfktrad2b4L3jnyNfHwWFjU75pkpRQ/JQA2NIogQ0NSMV5wXb5r1g8pmppo jSEo3Pod7bZX+z3q/q3Kts+6DzNmhfgBA9szrT3IeU8fNcHrxpt6RK3e4c9lqburfsbl QD4sgEQ7TojvBo7Hz66wYv/VUpL/3ULRV1v7rLC0LIik4ikqCy2BOdI4CJ61XUikc58/ 1CYVTyXDtOD1JItC8Ew7fKE5J8/bwEsj8LT1GUMe1GE8jcbY+zWTeI6heZYIUufZNgrL Wofw== ARC-Message-Signature: i=4; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:nodisclaimer :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=0vZQj8GPBTKI288EhsweQLXB6PMay2MEteeHvaDBgvo=; fh=Nfw27wyEgniZsGAEbsUUX37vOWF621moG02UMdzco6I=; b=nzsMGzQ4bwRSuLhC52FzGWVrbvvL2r7idanybL9JeSR6sUz9kOthpjOfdk2qxWm4kr BUNEiU/fAsm4l3Li72IQ+DlarMa8JqNVcxFPwjbt1AxN4yXhy6dZCVJHi4MpnXpCuF7h 4oUxkdYUoYzvo4bJANIXOYy+wLJ87P9iAtnbkEXkC4LyUF6PlfFwGa5S9ZMYC2OE7LMY Rm1onVEs35hU2J5bfsZCPFbMTCaWB9Nu38i/P4laGqqqfpL3SmiZhKmrIqY8v7nU5Tf/ jRhXuzLSUczjrIAPoWd9h0a6IAVANtk9ffYhSwe9DatVhoV10NDnUm0lKbHpMnjBriCZ +kXA== ARC-Authentication-Results: i=4; mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=jQuZRzWP; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=jQuZRzWP; arc=pass (i=3); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id v13-20020ae9e30d000000b00781205837efsi23673762qkf.4.2024.01.02.01.25.50 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jan 2024 01:25:50 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=jQuZRzWP; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=jQuZRzWP; arc=pass (i=3); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B6BEB385828D for ; Tue, 2 Jan 2024 09:25:49 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03on2065.outbound.protection.outlook.com [40.107.104.65]) by sourceware.org (Postfix) with ESMTPS id 53D28385843A for ; Tue, 2 Jan 2024 09:24:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 53D28385843A Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=arm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 53D28385843A Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.104.65 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704187448; cv=pass; b=Iaz78jIL0p3kk7VEivBZeCCsOFMb5xkJWY/0USl/aW5xXcEwLYaC1nsL5ZlC3YI1JeNqR+mzMgCakfvtth06DhewUcWXwbNq6vqRgi46qDF/F2f08g899fOyCG1Kr4c0BhBSU0k0Z/clQIGx650WbdLg69Q/tpybW0ee+++GI2M= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1704187448; c=relaxed/simple; bh=K0DmrO+CPQkSM9Ev0p2F74cDnQs2WRO9SVMEshcwZaU=; h=DKIM-Signature:DKIM-Signature:From:To:Subject:Date:Message-ID: MIME-Version; b=IshbFovakUzdIIyKujL20JszqmGbjoENpfgg1JVet0PlxVQW9GOnu1JLV85UJutqnE04XW5GiqbY5IgJwtoviPmRSxVD+8w/Rzna3wvPA9UIUledzNl95dHTsyDyarIYbqajzP0i4Rv2OPCHLnyToAIctI3N2ghcWNpkTVAXTmM= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=f8MOHMT1K+jELF1G8nLU1lhOtSJ8A590+CLXXjUFVN879bvZZbJOt/2/9U9f6nPWrpS66Opi3eT8E0V9oWP2Ui2n/yeg6N8sVh7nuQ8pfNbIIiYcTtqodKW8vidVxNe+kDslevZYa1HG8jAWUXOJ08aOxVUbpRbwnP9DCmddmUD1ZjnsmCwGolrMCxwfAFWUV89rKF9gnBU8VEvNxnxaWwXrroM5yUBd92/ceOFOs9B1S8PC5MOk8FS0WI5wwX4kk30dgvKLNxpO2W2VoyMeXVjGvxIcgreRrMuhqzh4M9YSqnnf6fiPxPQjNEaDLLp0if/O/9gMQon23cN0UsT4GA== ARC-Message-Signature: i=2; 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=0vZQj8GPBTKI288EhsweQLXB6PMay2MEteeHvaDBgvo=; b=emkTQMnrdpA1j2C5DyYHx96qFMCahO58PRYzrObfsbRl5/LBToqeFoD4eHom6NF/Qg+et1g0tOrmC+rFIOdOoaAD7xJKexXIVEj8Y/ZFZRm2RSbKYYX3VI1qma1h13Q3mYQYM80Iq5JNV9QubJqcTuIrNbxAMOVnLBWQzygb8BhLRt679ty3AM7e+mAXBLDrURhVyKX72EIkrgio//foNc6Xq/pEoeeDlx7c7OT8wjBI/j0aGuFCmIpaEuxeCUBKnXOVKLJGdKko5F8owgYcMuQ2JPndOfqCsAh4ha3o1salDnTa4S4HTaPM3Yue/vmBHnOl1wzw9oSYflo6F2yMgw== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=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=0vZQj8GPBTKI288EhsweQLXB6PMay2MEteeHvaDBgvo=; b=jQuZRzWP7GJLjoKLUw9M53nhUbzZi6fg6qejfSfijnfZ8HMLHnrHMACZLjD1Vwv6BUQhhztUSfrxanV0mIf2yV/3T90ckN+oc3wOTgppeFkphk8z6IfYFW2xuBcTWCNvVzv0mS5jPftWLYwSYFPYuJTXDXk9QGmcYT1ja1QZL3o= Received: from DU2PR04CA0201.eurprd04.prod.outlook.com (2603:10a6:10:28d::26) by AS1PR08MB7657.eurprd08.prod.outlook.com (2603:10a6:20b:478::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 09:23:58 +0000 Received: from DB5PEPF00014B8A.eurprd02.prod.outlook.com (2603:10a6:10:28d:cafe::57) by DU2PR04CA0201.outlook.office365.com (2603:10a6:10:28d::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25 via Frontend Transport; Tue, 2 Jan 2024 09:23:58 +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 DB5PEPF00014B8A.mail.protection.outlook.com (10.167.8.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.9 via Frontend Transport; Tue, 2 Jan 2024 09:23:58 +0000 Received: ("Tessian outbound e243565b0037:v228"); Tue, 02 Jan 2024 09:23:58 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 94d9e11971699659 X-CR-MTA-TID: 64aa7808 Received: from 07b781edc00e.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 0CECD33F-5F86-47A0-B4ED-22C37B543538.1; Tue, 02 Jan 2024 09:23:51 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 07b781edc00e.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 02 Jan 2024 09:23:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=odjl+yh7hZgcdiLArIYoeEUCkBbnnIHxlrmrWWTgEwUs/GzfdCSBVJoewW1aei2rRKKhum4HkhlYH/xpgF1B4HvHZ4632kVPXESQH7IiVP2d50gJDuL5PUBEQJwecgWK2RrrMmK9oPwouQF6htM5dWW3yM3T53hhDhSKW7PmrZNAF8+H79FfD9GCtyET8IencIuj9rVs43wAFUuCFx8BDGyQR0GWBsDwtunAXxC5CYKKU8cp6Na7peOt3PN7rgVF3DG2uGgTaqbWp4JdLQTiSgpn5pwl1gri3+Mjq5gWwvfzcX6ZUcYk9EM/hZpp/Mpa7ey13QqFcAHShrjCTiBCUg== 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=0vZQj8GPBTKI288EhsweQLXB6PMay2MEteeHvaDBgvo=; b=NpoZL5qKqgT5r4LB7vUV0Nxa+wC3An11POhG2hzXMiAShV0OaRVeJpjl9sPQwUEb7I/tE/MQLJPvQxue2xHJrDt5pc4XFvj2lbkNxeAkth3EVY2Ywib0pUvvOaWQJ+AF8I+eKMasndX6fK5jzVZMdyfvetzOwHQFZP8R3UlxaJv5bN2VFtFU458yUObjkc7FTiFKKcjFxWsn8e1UHl4xFJ8CSLMGeLqqwQMj86noh0l+oAsIkFy+/5a4yt6lfW84HPYzHg25HRyCONxp49nNVC/XlmuHOcKGifi+LnRkE6f1YB3DjWie63ajDLjvhqT7EXaq2pQ6/pP+uqv1EV8MSw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=gcc.gnu.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) 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=0vZQj8GPBTKI288EhsweQLXB6PMay2MEteeHvaDBgvo=; b=jQuZRzWP7GJLjoKLUw9M53nhUbzZi6fg6qejfSfijnfZ8HMLHnrHMACZLjD1Vwv6BUQhhztUSfrxanV0mIf2yV/3T90ckN+oc3wOTgppeFkphk8z6IfYFW2xuBcTWCNvVzv0mS5jPftWLYwSYFPYuJTXDXk9QGmcYT1ja1QZL3o= Received: from AM8P251CA0026.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:21b::31) by DB8PR08MB5369.eurprd08.prod.outlook.com (2603:10a6:10:11c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25; Tue, 2 Jan 2024 09:23:50 +0000 Received: from AMS0EPF000001AF.eurprd05.prod.outlook.com (2603:10a6:20b:21b:cafe::66) by AM8P251CA0026.outlook.office365.com (2603:10a6:20b:21b::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.25 via Frontend Transport; Tue, 2 Jan 2024 09:23:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C Received: from nebula.arm.com (40.67.248.234) by AMS0EPF000001AF.mail.protection.outlook.com (10.167.16.155) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7159.9 via Frontend Transport; Tue, 2 Jan 2024 09:23:49 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Tue, 2 Jan 2024 09:23:48 +0000 Received: from e127754.cambridge.arm.com (10.1.26.16) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Tue, 2 Jan 2024 09:23:48 +0000 From: To: CC: Subject: [PATCH v3 03/12] [GCC] arm: vld1q_types_x4 ACLE intrinsics Date: Tue, 2 Jan 2024 09:23:36 +0000 Message-ID: <20240102092345.28370-4-Ezra.Sitorus@arm.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20240102092345.28370-1-Ezra.Sitorus@arm.com> References: <20240102092345.28370-1-Ezra.Sitorus@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: AMS0EPF000001AF:EE_|DB8PR08MB5369:EE_|DB5PEPF00014B8A:EE_|AS1PR08MB7657:EE_ X-MS-Office365-Filtering-Correlation-Id: b9773d67-bf1d-4a0d-01bf-08dc0b748cbc 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: 03tvvzDd7ws1j2RZHmWnQRUUIJveRDGXfWDT5/ah9g7JgYGBACTOE2rAac2K8Vz5gzagXUOs82x87/orpR53wZJcz9nmSp+8G50PwIoJQSQQ+HKXN6zpRmv+D9SW+pnQNhh0M+0tNUeyWV2mJFblCweQelVvksMMP7lzHWoiv1hFnETMyff+7zIhRrH5ANxdd2Nf91e24MhIOLUiUStxGUfeC9YYXyyHUudLqz5YAE1I5rW+dJdSU+PLlZEx/OpZK0zdBfo16Ygdbo9XyqDhAyPOogUcEKsESW3wbauZ4fXl4t7weSRRj17TGmGfvSZVyGyweAE0MXhIy0A7Tx2CUJZfFgt9mHYS0Yiwwau50UJ7QqVYb9fyCWmfqPZ1s8mIaMWrOfVQK83KhLC5PwxxZXX3pMZvMyjmbQSoSOBQuCSQf0U/S7moeZSsObXUOLXkYQ6sj3wE8DqN6hL5WyPCrAhQCkl/qwUSkCV+0Lnvb+IOaEvQo1inOnjMQYZbB2DS1tcDYhq+VwTUEq7ZJI7mn5cGZJ2kybSZE2A2GFKNM1aOJW5lybthOhDkBBJt2xlJcfr1uNePmyAkiK8BUO5co5TDSk2eFEH5WhLrwctV8EsKSTgdCAsG+IOQF8zt0aupbcVmBpsumg7gTeGXm9Gnhj71BvacRTrY/NNEIMN/Iz+hPUzd0hP7Sczy3cbxo9vOUcuzNwLOS7jv2MVSFKGO/kxPp+qXaZYeWjk1LSR4fBVhzQceyrRwKO50gH2Hj+VHMtXy+Q6dPZjy5esExZmmrYv71UvaEnsfdh9S5dSNSssxo919ann0Xs2bxuTYIJ3+oH3F4Brh9QB3DlDlU+LEl/Ys90Hc34/IrRblywqkLrU= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:nebula.arm.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(4636009)(346002)(396003)(136003)(39860400002)(376002)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(82310400011)(36840700001)(46966006)(40470700004)(83380400001)(1076003)(47076005)(41300700001)(2616005)(26005)(81166007)(356005)(82740400003)(36860700001)(8676002)(6666004)(8936002)(5660300002)(316002)(30864003)(4326008)(2876002)(2906002)(478600001)(336012)(426003)(966005)(6916009)(7696005)(70206006)(70586007)(86362001)(36756003)(84970400001)(40480700001)(40460700003)(87944015)(36900700001)(357404004); DIR:OUT; SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5369 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B8A.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c70f88ec-814f-4723-18b0-08dc0b7487aa X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: N2b26b8jXSDfUoOronfBA55qQFwt2xzYYjZxrPEHlHsXJZFQogI//yF0hYD0wHneBCXWftyz9KBhnyD/XRZRyfBuBDu9Tdm5oAuiF6xeaNhzi/Gmf7kwhdlj34kvif55v+kevEWHRDMXIJgweHwpoq58logzCTPoQyVGngCgjwiSOSnK507aCXjdfzzvIEhr3ZRUY0eI06zkpoXA8pMZldk+WyxZOsyPvBPfPEjzxv1hEcDjggTGprFK4rSOuyU8Rx3kREHQvv7yykBKiaIy2A45HG5fzWVZFWQnNSNoPw6mQNUlR2G/t3SAOQrXyF9SHK5d0qTPGK7Akftvka4xUnKlf6BTjQZc0K8Dt5bGtB2l82gMepmKbrjiYmeaBzjBh0/SaJA8TOptwWCPI4N+UVJrKVXSSI43rP1t9q0v8GrLBjiiM03lSuY+MPcXEpGIj/XG7JKrWg0Hi/B/aG7OtN+9VHLRabNTVX2WRRHmVTEdEUYxsSKwUn1R7m2t51sJYStG+mYHCm5pYh5LHTXgseWMEKRltWIcUU8HzI7YcabNqgc6Cr2Z2wHDMdJnrvusTrRMgJDbpWz+3uUBG3eYuf5AJ3o8yUW0/fkX05E4jM9oP5eowvsIey7/NErMZfKUQsTE079HHA8GFAo0tgum5UdB5bqsgcl92FeI0/KC9awSuGdsjXWeCrlmniOhPamUe7PBx+txV3/Z3mL5EEfroWGxSRvRmsL9DluSKo+ozp6al+udx2i7CiZ23B4LQnM6Scn5NUrJAor2kbqLf9C6OvvJz9PIyWUyRGt9B3bO2aVK7D87usuyXxzXnXMKXqW3 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:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(82310400011)(451199024)(1800799012)(64100799003)(186009)(40470700004)(46966006)(36840700001)(2616005)(83380400001)(47076005)(26005)(1076003)(336012)(426003)(81166007)(82740400003)(41300700001)(8936002)(8676002)(316002)(4326008)(30864003)(5660300002)(2876002)(2906002)(36860700001)(478600001)(6666004)(966005)(70206006)(6916009)(7696005)(70586007)(86362001)(36756003)(40480700001)(84970400001)(40460700003)(87944015)(357404004); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Jan 2024 09:23:58.5011 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b9773d67-bf1d-4a0d-01bf-08dc0b748cbc 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: DB5PEPF00014B8A.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7657 X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, KAM_DMARC_NONE, KAM_SHORT, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE, 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 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+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1786970164890925791 X-GMAIL-MSGID: 1786970164890925791 From: Ezra Sitorus This patch is part of a series of patches implementing the _xN variants of the vld1q intrinsic for the arm port. This patch adds the _x4 variants of the vld1q intrinsic. ACLE documents: https://developer.arm.com/documentation/ihi0053/latest/ ISA documents: https://developer.arm.com/documentation/ddi0487/latest/ gcc/ChangeLog: * config/arm/arm_neon.h (vld1q_u8_x4, vld1q_u16_x4, vld1q_u32_x4, vld1q_u64_x4): New. (vld1q_s8_x4, vld1q_s16_x4, vld1q_s32_x4, vld1q_s64_x4): New. (vld1q_f16_x4, vld1q_f32_x4): New. (vld1q_p8_x4, vld1q_p16_x4, vld1q_p64_x4): New. (vld1q_bf16_x4): New. * config/arm/arm_neon_builtins.def (vld1_x4): New entries. * config/arm/neon.md (neon_vld1_x4): New. (neon_vld1x4qa, neon_vld1x4qb): New * config/arm/unspecs.md (UNSPEC_VLD1X4A, UNSPEC_VLD1X4B): New. gcc/testsuite/ChangeLog: * gcc.target/arm/simd/vld1q_base_xN_1.c: Updated. * gcc.target/arm/simd/vld1q_bf16_xN_1.c: Updated. * gcc.target/arm/simd/vld1q_fp16_xN_1.c: Updated. * gcc.target/arm/simd/vld1q_p64_xN_1.c: Updated. --- gcc/config/arm/arm_neon.h | 128 ++++++++++++++++++ gcc/config/arm/arm_neon_builtins.def | 1 + gcc/config/arm/neon.md | 48 +++++++ gcc/config/arm/unspecs.md | 2 + .../gcc.target/arm/simd/vld1q_base_xN_1.c | 71 ++++++++-- .../gcc.target/arm/simd/vld1q_bf16_xN_1.c | 9 +- .../gcc.target/arm/simd/vld1q_fp16_xN_1.c | 9 +- .../gcc.target/arm/simd/vld1q_p64_xN_1.c | 9 +- 8 files changed, 263 insertions(+), 14 deletions(-) diff --git a/gcc/config/arm/arm_neon.h b/gcc/config/arm/arm_neon.h index 557873ac028..c03be9912f8 100644 --- a/gcc/config/arm/arm_neon.h +++ b/gcc/config/arm/arm_neon.h @@ -10421,6 +10421,15 @@ vld1q_p64_x3 (const poly64_t * __a) return __rv.__i; } +__extension__ extern __inline poly64x2x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_p64_x4 (const poly64_t * __a) +{ + union { poly64x2x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v2di ((const __builtin_neon_di *) __a); + return __rv.__i; +} + #pragma GCC pop_options __extension__ extern __inline int8x16_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) @@ -10522,6 +10531,42 @@ vld1q_s64_x3 (const int64_t * __a) return __rv.__i; } +__extension__ extern __inline int8x16x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_s8_x4 (const uint8_t * __a) +{ + union { int8x16x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v16qi ((const __builtin_neon_qi *) __a); + return __rv.__i; +} + +__extension__ extern __inline int16x8x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_s16_x4 (const uint16_t * __a) +{ + union { int16x8x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v8hi ((const __builtin_neon_hi *) __a); + return __rv.__i; +} + +__extension__ extern __inline int32x4x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_s32_x4 (const int32_t * __a) +{ + union { int32x4x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v4si ((const __builtin_neon_si *) __a); + return __rv.__i; +} + +__extension__ extern __inline int64x2x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_s64_x4 (const int64_t * __a) +{ + union { int64x2x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v2di ((const __builtin_neon_di *) __a); + return __rv.__i; +} + #if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE) __extension__ extern __inline float16x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) @@ -10578,6 +10623,26 @@ vld1q_f32_x3 (const float32_t * __a) return __rv.__i; } +#if defined (__ARM_FP16_FORMAT_IEEE) || defined (__ARM_FP16_FORMAT_ALTERNATIVE) +__extension__ extern __inline float16x8x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_f16_x4 (const float16_t * __a) +{ + union { float16x8x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v8hf (__a); + return __rv.__i; +} +#endif + +__extension__ extern __inline float32x4x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_f32_x4 (const float32_t * __a) +{ + union { float32x4x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v4sf ((const __builtin_neon_sf *) __a); + return __rv.__i; +} + __extension__ extern __inline uint8x16_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vld1q_u8 (const uint8_t * __a) @@ -10678,6 +10743,42 @@ vld1q_u64_x3 (const uint64_t * __a) return __rv.__i; } +__extension__ extern __inline uint8x16x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_u8_x4 (const uint8_t * __a) +{ + union { uint8x16x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v16qi ((const __builtin_neon_qi *) __a); + return __rv.__i; +} + +__extension__ extern __inline uint16x8x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_u16_x4 (const uint16_t * __a) +{ + union { uint16x8x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v8hi ((const __builtin_neon_hi *) __a); + return __rv.__i; +} + +__extension__ extern __inline uint32x4x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_u32_x4 (const uint32_t * __a) +{ + union { uint32x4x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v4si ((const __builtin_neon_si *) __a); + return __rv.__i; +} + +__extension__ extern __inline uint64x2x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_u64_x4 (const uint64_t * __a) +{ + union { uint64x2x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v2di ((const __builtin_neon_di *) __a); + return __rv.__i; +} + __extension__ extern __inline poly8x16_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vld1q_p8 (const poly8_t * __a) @@ -10728,6 +10829,24 @@ vld1q_p16_x3 (const poly16_t * __a) return __rv.__i; } +__extension__ extern __inline poly8x16x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_p8_x4 (const poly8_t * __a) +{ + union { poly8x16x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v16qi ((const __builtin_neon_qi *) __a); + return __rv.__i; +} + +__extension__ extern __inline poly16x8x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_p16_x4 (const poly16_t * __a) +{ + union { poly16x8x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v8hi ((const __builtin_neon_hi *) __a); + return __rv.__i; +} + __extension__ extern __inline int8x8_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vld1_lane_s8 (const int8_t * __a, int8x8_t __b, const int __c) @@ -20038,6 +20157,15 @@ vld1q_bf16_x3 (const bfloat16_t * __ptr) return __rv.__i; } +__extension__ extern __inline bfloat16x8x4_t +__attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) +vld1q_bf16_x4 (const bfloat16_t * __ptr) +{ + union { bfloat16x8x4_t __i; __builtin_neon_xi __o; } __rv; + __rv.__o = __builtin_neon_vld1_x4v8bf ((const __builtin_neon_bf *) __ptr); + return __rv.__i; +} + __extension__ extern __inline bfloat16x4x2_t __attribute__ ((__always_inline__, __gnu_inline__, __artificial__)) vld2_bf16 (bfloat16_t const * __ptr) diff --git a/gcc/config/arm/arm_neon_builtins.def b/gcc/config/arm/arm_neon_builtins.def index 57783bd0089..f4001b298c4 100644 --- a/gcc/config/arm/arm_neon_builtins.def +++ b/gcc/config/arm/arm_neon_builtins.def @@ -300,6 +300,7 @@ VAR1 (TERNOP, vtbx3, v8qi) VAR1 (TERNOP, vtbx4, v8qi) VAR7 (LOAD1, vld1_x2, v16qi, v8hi, v4si, v2di, v8hf, v4sf, v8bf) VAR7 (LOAD1, vld1_x3, v16qi, v8hi, v4si, v2di, v8hf, v4sf, v8bf) +VAR7 (LOAD1, vld1_x4, v16qi, v8hi, v4si, v2di, v8hf, v4sf, v8bf) VAR13 (LOAD1, vld1, v8qi, v4hi, v4hf, v2si, v2sf, v16qi, v8hi, v8hf, v4si, v4sf, v2di, v4bf, v8bf) diff --git a/gcc/config/arm/neon.md b/gcc/config/arm/neon.md index 235999e152a..e9c68b9baad 100644 --- a/gcc/config/arm/neon.md +++ b/gcc/config/arm/neon.md @@ -5015,6 +5015,54 @@ if (BYTES_BIG_ENDIAN) [(set_attr "type" "neon_load1_3reg")] ) +(define_expand "neon_vld1_x4" + [(match_operand:XI 0 "s_register_operand") + (match_operand:XI 1 "neon_struct_operand") + (unspec:VQXBF [(const_int 0)] UNSPEC_VSTRUCTDUMMY)] + "TARGET_NEON" +{ + rtx mem = adjust_address (operands[1], OImode, 0); + emit_insn (gen_neon_vld1x4qa (operands[0], mem)); + mem = adjust_address (mem, OImode, GET_MODE_SIZE (OImode)); + emit_insn (gen_neon_vld1x4qb (operands[0], mem, operands[0])); + DONE; +}) + +(define_insn "neon_vld1x4qa" + [(set (match_operand:XI 0 "s_register_operand" "=w") + (unspec:XI [(match_operand:OI 1 "neon_struct_operand" "Um") + (unspec:VQXBF [(const_int 0)] UNSPEC_VSTRUCTDUMMY)] + UNSPEC_VLD1X4A))] + "TARGET_NEON" +{ + rtx ops[2]; + ops[0] = gen_rtx_REG (OImode, REGNO (operands[0])); + ops[1] = operands[1]; + + output_asm_insn ("vld1.\t%h0, %A1", ops); + return ""; +} + [(set_attr "type" "neon_load1_4reg")] +) + +(define_insn "neon_vld1x4qb" + [(set (match_operand:XI 0 "s_register_operand" "=w") + (unspec:XI [(match_operand:OI 1 "neon_struct_operand" "Um") + (match_operand:XI 2 "s_register_operand" "0") + (unspec:VQXBF [(const_int 0)] UNSPEC_VSTRUCTDUMMY)] + UNSPEC_VLD1X4B))] + "TARGET_NEON" +{ + rtx ops[2]; + ops[0] = gen_rtx_REG (OImode, REGNO (operands[0]) + 8); + ops[1] = operands[1]; + + output_asm_insn ("vld1.\t%h0, %A1", ops); + return ""; +} + [(set_attr "type" "neon_load1_4reg")] +) + ;; The lane numbers in the RTL are in GCC lane order, having been flipped ;; in arm_expand_neon_args. The lane numbers are restored to architectural ;; lane order here. diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md index e777edceef5..4753968d52f 100644 --- a/gcc/config/arm/unspecs.md +++ b/gcc/config/arm/unspecs.md @@ -344,6 +344,8 @@ UNSPEC_VLD1 UNSPEC_VLD1X3A UNSPEC_VLD1X3B + UNSPEC_VLD1X4A + UNSPEC_VLD1X4B UNSPEC_VLD1_LANE UNSPEC_VLD2 UNSPEC_VLD2_DUP diff --git a/gcc/testsuite/gcc.target/arm/simd/vld1q_base_xN_1.c b/gcc/testsuite/gcc.target/arm/simd/vld1q_base_xN_1.c index 117bc58c161..01b29b60084 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vld1q_base_xN_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vld1q_base_xN_1.c @@ -115,14 +115,69 @@ poly16x8x3_t test_vld1q_p16_x3 (poly16_t * a) return vld1q_p16_x3 (a); } -/* { dg-final { scan-assembler-times {vld1.8\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.8\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 3 } } */ +uint8x16x4_t test_vld1q_u8_x4 (uint8_t * a) +{ + return vld1q_u8_x4 (a); +} + +uint16x8x4_t test_vld1q_u16_x4 (uint16_t * a) +{ + return vld1q_u16_x4 (a); +} + +uint32x4x4_t test_vld1q_u32_x4 (uint32_t * a) +{ + return vld1q_u32_x4 (a); +} + +uint64x2x4_t test_vld1q_u64_x4 (uint64_t * a) +{ + return vld1q_u64_x4 (a); +} + +int8x16x4_t test_vld1q_s8_x4 (int8_t * a) +{ + return vld1q_s8_x4 (a); +} + +int16x8x4_t test_vld1q_s16_x4 (int16_t * a) +{ + return vld1q_s16_x4 (a); +} + +int32x4x4_t test_vld1q_s32_x4 (int32_t * a) +{ + return vld1q_s32_x4 (a); +} + +int64x2x4_t test_vld1q_s64_x4 (int64_t * a) +{ + return vld1q_s64_x4 (a); +} + +float32x4x4_t test_vld1q_f32_x4 (float32_t * a) +{ + return vld1q_f32_x4 (a); +} + +poly8x16x4_t test_vld1q_p8_x4 (poly8_t * a) +{ + return vld1q_p8_x4 (a); +} + +poly16x8x4_t test_vld1q_p16_x4 (poly16_t * a) +{ + return vld1q_p16_x4 (a); +} + +/* { dg-final { scan-assembler-times {vld1.8\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 9 } } */ +/* { dg-final { scan-assembler-times {vld1.8\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 3 } } */ +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 9 } } */ +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.32\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.32\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 3 } } */ +/* { dg-final { scan-assembler-times {vld1.32\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 9 } } */ +/* { dg-final { scan-assembler-times {vld1.32\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 6 } } */ -/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]\n} 4 } } */ -/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]!\n} 2 } } */ +/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]\n} 6 } } */ +/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]!\n} 4 } } */ diff --git a/gcc/testsuite/gcc.target/arm/simd/vld1q_bf16_xN_1.c b/gcc/testsuite/gcc.target/arm/simd/vld1q_bf16_xN_1.c index 75b61f1ecf0..21db3520c1a 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vld1q_bf16_xN_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vld1q_bf16_xN_1.c @@ -15,5 +15,10 @@ bfloat16x8x3_t test_vld1q_bf16_x3 (bfloat16_t * a) return vld1q_bf16_x3 (a); } -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 2 } } */ -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 1 } } */ +bfloat16x8x4_t test_vld1q_bf16_x4 (bfloat16_t * a) +{ + return vld1q_bf16_x4 (a); +} + +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 3 } } */ +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 2 } } */ diff --git a/gcc/testsuite/gcc.target/arm/simd/vld1q_fp16_xN_1.c b/gcc/testsuite/gcc.target/arm/simd/vld1q_fp16_xN_1.c index 9032048bed5..3838cd072ea 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vld1q_fp16_xN_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vld1q_fp16_xN_1.c @@ -15,5 +15,10 @@ float16x8x3_t test_vld1q_f16_x3 (float16_t * a) return vld1q_f16_x3 (a); } -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 2 } } */ -/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 1 } } */ +float16x8x4_t test_vld1q_f16_x4 (float16_t * a) +{ + return vld1q_f16_x4 (a); +} + +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]\n} 3 } } */ +/* { dg-final { scan-assembler-times {vld1.16\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+\]!\n} 2 } } */ diff --git a/gcc/testsuite/gcc.target/arm/simd/vld1q_p64_xN_1.c b/gcc/testsuite/gcc.target/arm/simd/vld1q_p64_xN_1.c index aabc31bbd08..d359a5a85a2 100644 --- a/gcc/testsuite/gcc.target/arm/simd/vld1q_p64_xN_1.c +++ b/gcc/testsuite/gcc.target/arm/simd/vld1q_p64_xN_1.c @@ -15,5 +15,10 @@ poly64x2x3_t test_vld1q_p64_x3 (poly64_t * a) return vld1q_p64_x3 (a); } -/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]\n} 2 } } */ -/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]!\n} 1 } } */ +poly64x2x4_t test_vld1q_p64_x4 (poly64_t * a) +{ + return vld1q_p64_x4 (a); +} + +/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]\n} 3 } } */ +/* { dg-final { scan-assembler-times {vld1.64\t\{d[0-9]+-d[0-9]+\}, \[r[0-9]+:64\]!\n} 2 } } */