From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2081.outbound.protection.outlook.com [40.107.20.81]) by sourceware.org (Postfix) with ESMTPS id DC84A3AA903B for ; Thu, 17 Nov 2022 16:38:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DC84A3AA903B 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=ZrROTpvdCNRiP9NLVgGfnibKhKC/deNl1/uwVBeATIg=; b=WZSZo9eSpP8sHoQdo5KlaaCnK9ZL/vWaKbra1ma9g3VVYLGwUKxx0ZQEdz3TWB2pJP1PAnel0s7xG5JhkBWcpvrvt6WZUqzTAIalrig24wK1PY0GSp2isVb+Ql25BfnWtRjpEVTlu/6jz0hRbXGYW/zEZi9dJTT3AoiS0vJnbmg= Received: from ZR2P278CA0040.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:47::11) by DB9PR08MB6524.eurprd08.prod.outlook.com (2603:10a6:10:251::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.8; Thu, 17 Nov 2022 16:38:45 +0000 Received: from VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com (2603:10a6:910:47:cafe::6d) by ZR2P278CA0040.outlook.office365.com (2603:10a6:910:47::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.20 via Frontend Transport; Thu, 17 Nov 2022 16:38:44 +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 VI1EUR03FT007.mail.protection.outlook.com (100.127.144.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.8 via Frontend Transport; Thu, 17 Nov 2022 16:38:44 +0000 Received: ("Tessian outbound 73ab5f36653e:v130"); Thu, 17 Nov 2022 16:38:44 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 88eea8fa4e8196fd X-CR-MTA-TID: 64aa7808 Received: from 981d54c4f5d3.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 89531796-FE5C-42DC-B3D0-413A03956254.1; Thu, 17 Nov 2022 16:38:38 +0000 Received: from EUR04-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 981d54c4f5d3.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 17 Nov 2022 16:38:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bHRzSECbdTut7Ke/qgy4y+uRwCgy2LToFceMrYViKQwafm1TI4NMs7pcHitNpeNvJ9jb+590ogaOxNS+XSHKVKdAt0sjajxEz2WZ+AR20cJyXS02j06TyaBV4arV6TXEZPRmGLlUqCzA1HjcDfteosWfgHBsMskcKh21yEsY7lpFXmzlWI6pdJKdQvV7E5aH2aEfng39ykQmKor2Zugn6gSIyGoU6u72Jy2ts58R1po17kCs7JeKXvJY4Y+IpNOsGK+56bkp6INvIi02qE7E/xanhvlEKZrMmnvw5VROC/8272WUxuysaoj5Vn757Or4QdpQOH4Q/BW0/RUvsUNi8g== 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=ZrROTpvdCNRiP9NLVgGfnibKhKC/deNl1/uwVBeATIg=; b=kXJvHvM76ObgVReeaLXkYte15HW5+kh8TgyRlZxx2qI9gWpP9R8fkTwjK21Xu7NFmrx/AulV0Lj5Msj9HDQZ18Vu+EYP0LStOkLXEJlabI/rJ+UmO+3tlHZ23tk8ENfUFFO2qekjOkVwVEtldyBC8ZuGmLSIrFtAN0pA+ih/PQfpzGvVXBBOwrINvp7LYKfUCd61Wc05hs6fki122TqolL02wrrFyc+b2QDZseah/5/gipTqLC4fxxs1xZOvsESUsOcC5XlAboC5l7zX1oWGH8p6J/yG7fZG7OEfyrTZtIRWqamTYUTFEhRFRY6I209MH37xh0BAxlv1xqxEc5fewg== 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 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=ZrROTpvdCNRiP9NLVgGfnibKhKC/deNl1/uwVBeATIg=; b=WZSZo9eSpP8sHoQdo5KlaaCnK9ZL/vWaKbra1ma9g3VVYLGwUKxx0ZQEdz3TWB2pJP1PAnel0s7xG5JhkBWcpvrvt6WZUqzTAIalrig24wK1PY0GSp2isVb+Ql25BfnWtRjpEVTlu/6jz0hRbXGYW/zEZi9dJTT3AoiS0vJnbmg= Received: from DBBPR09CA0048.eurprd09.prod.outlook.com (2603:10a6:10:d4::36) by PAWPR08MB9565.eurprd08.prod.outlook.com (2603:10a6:102:2f1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.9; Thu, 17 Nov 2022 16:38:28 +0000 Received: from DBAEUR03FT032.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:d4:cafe::94) by DBBPR09CA0048.outlook.office365.com (2603:10a6:10:d4::36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.19 via Frontend Transport; Thu, 17 Nov 2022 16:38:26 +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 DBAEUR03FT032.mail.protection.outlook.com (100.127.142.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5834.8 via Frontend Transport; Thu, 17 Nov 2022 16:38:26 +0000 Received: from AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) 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.16; Thu, 17 Nov 2022 16:38:23 +0000 Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX02.Emea.Arm.com (10.251.26.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 17 Nov 2022 16:38:22 +0000 Received: from e124257.nice.arm.com (10.34.105.24) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.16 via Frontend Transport; Thu, 17 Nov 2022 16:38:22 +0000 From: Andrea Corallo To: CC: , , "Stam Markianos-Wright" Subject: [PATCH 16/35] arm: Add integer vector overloading of vsubq_x instrinsic Date: Thu, 17 Nov 2022 17:37:50 +0100 Message-ID: <20221117163809.1009526-17-andrea.corallo@arm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221117163809.1009526-1-andrea.corallo@arm.com> References: <20221117163809.1009526-1-andrea.corallo@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DBAEUR03FT032:EE_|PAWPR08MB9565:EE_|VI1EUR03FT007:EE_|DB9PR08MB6524:EE_ X-MS-Office365-Filtering-Correlation-Id: acde0166-c607-423a-7ea3-08dac8ba3198 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: Axi85rMAXtwSSBRhcKcGkkAl9UhguLarvBnm4mgOlgStctB+eODmCsigqAYY2r2s2ILVgzW537UmVAP378t4BTG5TcRH7/CYc/DNWQvQO8Cr2HWo245ngkPkSFVnyCt9qbb1fPKfTvNEm3AYSk71lmKLEKIcSHBiVw/5uAOdvwJfb6alcMPaePQiY56Bm79jv1l/zeWPhBttGzo4VKltfY2+nVNCZq3RJHC6Vl151aCzYpyUwM2NYE5Dudj0M5AtdY4j2aCj6dr26D1a0pa7NxDQsfSQ1qHg8TKU5v2c73Js5Jod7eJ3yv30A683hvr4CeEluGGWbzIalvJzXiMrkJJZGQqk1OmkXYPy5quTFJZ49cYnE8ojJTiNC9kmLMRvMId0vz2XULqEYr0o923Gg64nKQa/dqVs7SAdES2L4ePOHMFEr/GmkRk3hU3RQSlXw6L7vI5mkb44k0CjsenltPE6hMUcVQWeZ5TZ8FTR3AxtBPfCRgPOllhA/6HIZfnV6TQGVJjHrnfFhWr5hPHnLnmXHz1nVhZuKyrGdwlpqZHvFKpBnk04Ulbr5UsQc/cmjl3WF38kITNthi78I6bIbNBo2xmAUxnvUnj58TpmEA1Rs2v6rQmMUzuGleT8TgfDnL1vDomntr/RVRwh0ix33GneRJeHenqogQrEHfdJDxBVi5c02diY4egD6TmuRGhAXe8WF5qyTqAJZGwIhE1JDy7xcrtQga2tpyX6kCcHV7M= 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:(13230022)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199015)(40470700004)(46966006)(36840700001)(83380400001)(426003)(336012)(186003)(47076005)(36860700001)(356005)(81166007)(6666004)(7696005)(26005)(1076003)(2616005)(82740400003)(478600001)(54906003)(6916009)(316002)(5660300002)(4326008)(44832011)(8676002)(8936002)(41300700001)(86362001)(2906002)(70206006)(70586007)(40460700003)(82310400005)(36756003)(40480700001)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9565 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 0358c1e5-1ac7-4148-2d9e-08dac8ba266e X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BliwOPF+QKSzLBJeDfXrhR0ZYPqvn9dSxBLLDTtA19xh3Ddu2I1gs9AWby0I/l6vPPjpO7us4jW+9rkLbtqODT7H/TyxOqR8O7XsZhXXPq0++/DEyi644E7Vxf3AtyDYKc6qqphdE8lpmLN7jgWe2uY55z93cTxq/m/KtozVl2NrPVCagEKFb1xz4uCTqiDcUQZXrZJAhvT/wPdYKBsIWo8al0WJPLUGuIGXRn4+QrkQiscCAdbp8DV36Ii+vwvA9lgmVvsqRTm2OBjGSgjpjb+8kBptw0rXDvmwwV2eBKp2QPZ32PVBVccWQ/XuGvOFBT7zZRUxmaacD3Z/qe+zeqakz7WrustjyBFEBJ41ytrpUqaJ3cWa2XswKdZMu8qLjm+sX8ShcLT9SG4UHX7YaXhGqS1QfWX6SvcTsYXdS4JURyjFccr6DVGkwk5Q0DUgvEf7xzQwR3a50vDwiP/Yh52TC6dz0rk+xOrNou7oC4gnsfq+eZ21CHcLFZnFTZUZYn5FKVSy0eA39j6xJt6WyTbDxionh9OK6FLOFTGh3HKRfAYx8uq74AJYyukYiJZzAOupifHYWKwW6+meP/JYo3Q52yyMKC7C8s8cpknxrmU+DpFVEXe5+k09QFnUIXXCkeWz2QBOcW2ylbhomuOa6Cs7SQwvGZfR3zkvEpxeHQFPky5AhMu6MXKzBf/9LjgVA8VPzV8gq7wL+2IVe1TDXA== 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:(13230022)(4636009)(39860400002)(136003)(346002)(376002)(396003)(451199015)(40470700004)(36840700001)(46966006)(316002)(5660300002)(70206006)(54906003)(2906002)(8936002)(44832011)(6916009)(82310400005)(82740400003)(41300700001)(70586007)(4326008)(8676002)(478600001)(6666004)(7696005)(26005)(81166007)(426003)(2616005)(336012)(186003)(36756003)(86362001)(40460700003)(83380400001)(40480700001)(47076005)(1076003)(36860700001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2022 16:38:44.6802 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: acde0166-c607-423a-7ea3-08dac8ba3198 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: VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6524 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,FORGED_SPF_HELO,GIT_PATCH_0,KAM_DMARC_NONE,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: From: Stam Markianos-Wright In the past we had only defined the vsubq_x generic overload of the vsubq_x_* intrinsics for float vector types. This would cause them to fall back to the `__ARM_undef` failure state if they was called through the generic version. This patch simply adds these overloads. gcc/ChangeLog: * config/arm/arm_mve.h (__arm_vsubq_x FP): New overloads. (__arm_vsubq_x Integer): New. --- gcc/config/arm/arm_mve.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gcc/config/arm/arm_mve.h b/gcc/config/arm/arm_mve.h index f6b42dc3fab..09167ec118e 100644 --- a/gcc/config/arm/arm_mve.h +++ b/gcc/config/arm/arm_mve.h @@ -38259,6 +38259,18 @@ extern void *__ARM_undef; #define __arm_vsubq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ __typeof(p2) __p2 = (p2); \ _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vsubq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vsubq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3), \ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_float16x8_t]: __arm_vsubq_x_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce(__p2, float16x8_t), p3), \ int (*)[__ARM_mve_type_float32x4_t][__ARM_mve_type_float32x4_t]: __arm_vsubq_x_f32 (__ARM_mve_coerce(__p1, float32x4_t), __ARM_mve_coerce(__p2, float32x4_t), p3), \ int (*)[__ARM_mve_type_float16x8_t][__ARM_mve_type_fp_n]: __arm_vsubq_x_n_f16 (__ARM_mve_coerce(__p1, float16x8_t), __ARM_mve_coerce2(p2, double), p3), \ @@ -40223,6 +40235,22 @@ extern void *__ARM_undef; int (*)[__ARM_mve_type_uint16_t_ptr]: __arm_vld4q_u16 (__ARM_mve_coerce1(p0, uint16_t *)), \ int (*)[__ARM_mve_type_uint32_t_ptr]: __arm_vld4q_u32 (__ARM_mve_coerce1(p0, uint32_t *)))) +#define __arm_vsubq_x(p1,p2,p3) ({ __typeof(p1) __p1 = (p1); \ + __typeof(p2) __p2 = (p2); \ + _Generic( (int (*)[__ARM_mve_typeid(__p1)][__ARM_mve_typeid(__p2)])0, \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int8x16_t]: __arm_vsubq_x_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce(__p2, int8x16_t), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int16x8_t]: __arm_vsubq_x_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce(__p2, int16x8_t), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int32x4_t]: __arm_vsubq_x_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce(__p2, int32x4_t), p3), \ + int (*)[__ARM_mve_type_int8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s8 (__ARM_mve_coerce(__p1, int8x16_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s16 (__ARM_mve_coerce(__p1, int16x8_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_int32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_s32 (__ARM_mve_coerce(__p1, int32x4_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_uint8x16_t]: __arm_vsubq_x_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce(__p2, uint8x16_t), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_uint16x8_t]: __arm_vsubq_x_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce(__p2, uint16x8_t), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_uint32x4_t]: __arm_vsubq_x_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce(__p2, uint32x4_t), p3), \ + int (*)[__ARM_mve_type_uint8x16_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u8 (__ARM_mve_coerce(__p1, uint8x16_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint16x8_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u16 (__ARM_mve_coerce(__p1, uint16x8_t), __ARM_mve_coerce3(p2, int), p3), \ + int (*)[__ARM_mve_type_uint32x4_t][__ARM_mve_type_int_n]: __arm_vsubq_x_n_u32 (__ARM_mve_coerce(__p1, uint32x4_t), __ARM_mve_coerce3(p2, int), p3));}) + #define __arm_vgetq_lane(p0,p1) ({ __typeof(p0) __p0 = (p0); \ _Generic( (int (*)[__ARM_mve_typeid(__p0)])0, \ int (*)[__ARM_mve_type_int8x16_t]: __arm_vgetq_lane_s8 (__ARM_mve_coerce(__p0, int8x16_t), p1), \ -- 2.25.1