From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2049.outbound.protection.outlook.com [40.107.6.49]) by sourceware.org (Postfix) with ESMTPS id CBAD73858C31 for ; Thu, 14 Mar 2024 10:13:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CBAD73858C31 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 CBAD73858C31 Authentication-Results: server2.sourceware.org; arc=pass smtp.remote-ip=40.107.6.49 ARC-Seal: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1710411237; cv=pass; b=u8dkOZwffTKGHPOuVNbhOo+6ENcc4TtCg9ApyY6ONi3GmuluiKjnsF3hKEDpFNwu/tJdEjcMQTnLyjYy2JNP29v5iLYkjyrOWeIq4/cyCcY3WJqvZiLzOsoKpPDu8J6urxbhbTBfXy5nC9PnNVOk2DhME35n+KZa2vPuXVEI584= ARC-Message-Signature: i=3; a=rsa-sha256; d=sourceware.org; s=key; t=1710411237; c=relaxed/simple; bh=t1n4veevlb5DiIafSgoim3oXg29uf4tKciCjrOBDhf4=; h=DKIM-Signature:DKIM-Signature:Message-ID:Date:Subject:From:To: MIME-Version; b=O+VgGTM7wFvlDeX+5m9GKIfjCesgGl0wOVw5J17vl5TCwAWjyBvSwaqI9detjETP4IuaxQklck6TfJCPGwcJjQI68StX4mA4NOx0229tmmIND7At2XRrwi2yrK2xTjNsjkT20Kns4ota6I2a547R3a37FwATRczX2vua1yZn41Q= ARC-Authentication-Results: i=3; server2.sourceware.org ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=bUvBR/zOxRcmXf8KoYVLwVUW4IWkb6TTrkgBOqO6Ft6+TaH/1/1Z6jvTKXImaq0/ZwrA1TVabrF41j1eGS4VIvHvn/nIp52BdObzu1yVOtv31kHrqLOrIIP3/lbaN/UN6hhq9bFTeHRMsm6VToXhNsopiy7HyNjeNBdGY8mm5YGTXvQl4QPLF/HN2YCbat7+fpU+DU456qgb0rl6fEzu42ztzUjAS26jjmVmIGNiMJPhmIR5nU8FdEu/3+5AA/HO5IjXAv593NIer3ZSHUvXkHM3b8XQ4bhf9pbVM28HRPH8XZQf8wHh8FlnWR4ow9WfdIrJngfmuZ4b1Wuon10yXA== 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=FDdSShdicR3EqZTjLYYzIjyU44YZ3xb6SWGhXz2uz38=; b=Rn+P/zX556dIj96POwi4necOvE/XsN28Tpt3T0xZOy2Y1xwvQqIwitky1POX//20Rkum44pqhfM1VWM5UhjndKQfWCENxrzxIUenCSqVw8TYch8HtVkT+dXlbMPoYNdWHwdONGyNB+U/WJjwsfg4M+6HuGFZiwjUTAth4ueVufUvLmeX+qhA72UZHSUt9AlPSZhw8CHKslziqTr9kpY6BXmM7QLx/B26qOLZWDbMmEww2O+4jbVLT3FK99zNWn2q9BIMQ+2vzPUJb4/ZOeDwPg8B+G5v7fzIVjchkRphM0OXYJvwtOW9nFFWODqDqXlLv8BaIs7SX1gyAGUNfKpYSg== 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] dkim=[1,1,header.d=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=FDdSShdicR3EqZTjLYYzIjyU44YZ3xb6SWGhXz2uz38=; b=N2pnsdbVq/hhXJIbOnKjVMjb/+ddh9Z7EVassZH9X3C/St82wg4agdVnr5RR5EtfRuQGt2foEeEmQ4v5duXZAwOSJQdhl6+8LLlDHM3IqoWzXWSFOSy9gIUhq/9VmvnSb0Pp55Ls7PX3pyQ7d986qjn5MA8pt8qLPlhUU9iyd9c= Received: from AS9PR05CA0132.eurprd05.prod.outlook.com (2603:10a6:20b:497::19) by DU0PR08MB9901.eurprd08.prod.outlook.com (2603:10a6:10:479::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Thu, 14 Mar 2024 10:13:49 +0000 Received: from AM4PEPF00027A6C.eurprd04.prod.outlook.com (2603:10a6:20b:497:cafe::c5) by AS9PR05CA0132.outlook.office365.com (2603:10a6:20b:497::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.34 via Frontend Transport; Thu, 14 Mar 2024 10:13:49 +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 AM4PEPF00027A6C.mail.protection.outlook.com (10.167.16.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.12 via Frontend Transport; Thu, 14 Mar 2024 10:13:49 +0000 Received: ("Tessian outbound 598157ceef91:v276"); Thu, 14 Mar 2024 10:13:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7cc40ce608727da3 X-CR-MTA-TID: 64aa7808 Received: from 91df213ceb6b.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id AA4B9012-B15C-4C3F-A9DF-1921AFEEDAD0.1; Thu, 14 Mar 2024 10:13:42 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 91df213ceb6b.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 14 Mar 2024 10:13:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jwUzE4snTYZzcAPA4R61DssUpTMhpsVrUg3MqaSjfJnIq7m/VRYfZTKs48zodSOhLUQSFTHT1L5epuzQL9iJiJXIYEoHxBYoh42sEM/ppqG65dZehxDxt77M4wsbwSBbAlVTbEF4/wogDSuiQg5Th2NbMnc7mjl/4WzhRoVGI+BFEJYLaIXUSlsBD+BuumidllPvQKWR306Uk6ObIn/7UbWKd4x1ec2xq3HXQkianfjTWy2DUskwSEirWs+HwWYVOdNxbC86wXYw+kdr2F9jKhyZ0ZuPCNz6WXL3xPDiQy//pYQ3qPAFoFDJW3rvi9U1hNUG9xuMv1LkHYr8p4P/xw== 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=FDdSShdicR3EqZTjLYYzIjyU44YZ3xb6SWGhXz2uz38=; b=nVPJod+j/8VDKZGkm/nAw0nkOF2iTZhByaQ+IgsnmqEvodqwya7phyAUQ5ko8q80YlO3blW5pfLOyaDEF/lmtrjA+1bqK0K6O8tGF2Zy3S12WWoRjcO6Pu8XD/L113nKNlreAJnr8d1w/p2qtMO1Oc/xxD4fUwtWEESVGzVwdpJCB5SsZ4VnUxNVqgCF6l6/B9eTwqVfvH15bjBBOfzgtCt3L3IBghRp85uYRvlgfmVXt9z60f04BAuJg7quf0y2YeBw5oatta9BHNFQ3r8IN9Va06Rj6kYg/lWepmSTZrE3Tn6ntrKR0ZHRoxzLTwaS3/hR68+P8xUJl+8JYAfOlg== 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=FDdSShdicR3EqZTjLYYzIjyU44YZ3xb6SWGhXz2uz38=; b=N2pnsdbVq/hhXJIbOnKjVMjb/+ddh9Z7EVassZH9X3C/St82wg4agdVnr5RR5EtfRuQGt2foEeEmQ4v5duXZAwOSJQdhl6+8LLlDHM3IqoWzXWSFOSy9gIUhq/9VmvnSb0Pp55Ls7PX3pyQ7d986qjn5MA8pt8qLPlhUU9iyd9c= Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB7079.eurprd08.prod.outlook.com (2603:10a6:20b:400::12) by GV1PR08MB8033.eurprd08.prod.outlook.com (2603:10a6:150:9a::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.21; Thu, 14 Mar 2024 10:13:40 +0000 Received: from AS8PR08MB7079.eurprd08.prod.outlook.com ([fe80::8b91:4189:f3ad:dd2a]) by AS8PR08MB7079.eurprd08.prod.outlook.com ([fe80::8b91:4189:f3ad:dd2a%3]) with mapi id 15.20.7386.017; Thu, 14 Mar 2024 10:13:40 +0000 Message-ID: <33b4ce9c-4f6d-4709-8095-ea6da13bc40d@arm.com> Date: Thu, 14 Mar 2024 15:43:35 +0530 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] vect: Call vect_convert_output with the right vecitype [PR114108] Content-Language: en-US From: Tejas Belagod To: gcc-patches@gcc.gnu.org Cc: richard.sandiford@arm.com, rguenther@suse.de References: <20240307104400.1970528-1-tejas.belagod@arm.com> <101360c8-863f-4953-97d0-c8467b207de5@arm.com> In-Reply-To: <101360c8-863f-4953-97d0-c8467b207de5@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: PN2PR01CA0233.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c01:eb::12) To AS8PR08MB7079.eurprd08.prod.outlook.com (2603:10a6:20b:400::12) MIME-Version: 1.0 X-MS-TrafficTypeDiagnostic: AS8PR08MB7079:EE_|GV1PR08MB8033:EE_|AM4PEPF00027A6C:EE_|DU0PR08MB9901:EE_ X-MS-Office365-Filtering-Correlation-Id: 64cc474b-8541-4682-6be8-08dc440f7155 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: c8rkPsI5Qf3oVxmgNlSSFeJeUzo7CZdsapqWQ8s+3sMKUFU5X+EPdLbJr4m3EAleLr/fQcEZRuodBg4GDb7PhzKJ4cWxkkBhZUoX42bt5+jjMjFWvClRvVQIMzfRR1fxooYiFTow6jSLJvnAZviEhSH9kbo4cqCORwiwFMYfmxAupCjm/Fx45oAHHmlKOVHXDneqmNzdRy3o7maNuOEqjl1Bx/+wiiUksJgiIYOjBodiaS7wnwPdv1voEmG2CpOuxbQokD0qsUl475zKKg4jyUdOhRhFtSbUICOX5AodKVC4ageuYCiNnZsnVrDmm1SHwF2NRMcWxssCEckq2qeX23lBO//QQLtIm3XIdxWJwV3Jy1Y61DWLty+Uj0dxzQ6Ecd9zDwgkRTnmUGTjg8Dj3BwvDlwHCTTmwLfdy58rWouwBhmTpbgSsn5rjIlvDjS0O3NrovtyGazd/u8C7/rv8PqoXBDAOlMbsfXuhpI7DUIA0YTY8ulp3pQv4BCPE6dXE7osQbsIaKHL6eNVxvUQSBKwELOtObov8LfY/9KzRzcY4gkC983cSX9TeUWh/SN5gPkSgl3G+fc5thZ2v9VgmlgIMWagCww6x0u18iIoiCk= X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7079.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8033 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: AM4PEPF00027A6C.eurprd04.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: d11b4ae1-6d40-467b-967e-08dc440f6be7 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zVq2uXnquRFxrdjzn+CHv1KmiCO0t6odOMmaKqmq/G63SkXQnkk7iDL7Uq/ZYl1qviQvfj2Cjcvhm29/E1YbDiIZrICNG+d4kQtyGAdVjjsjN+ULYj3DVqs0F/R+5VsWhuNSIpVi5NWTJ7cRzEgkzeE6hP3UCQaKJD1D5h2KCfmgQvKZYQvQRT8iUxRvxH9LdTqRPb8CfpIpZc0TxOE3w83e7V1UIUCVD+rcc/cibbWSm1Eh2v7HTJUOy7U6a3T9a6kPzEb+TiLAFFOVfqENlHepHgBAHgZimPpNlZu33I6DzTLuFMqXyyu2L8eHmdIV/UeN/2MIMxJQrzUDB4lyUqs7UkNOauUhUy1qLHHXqZScGdcIKfijEr6igDLU7SLHfoXoPawPKS3qQpX8JDsGi0XiCH9s+JLdMDP8NEIEgupE/UB4p3adfhYSeAWpNANn0E1qEN/eLix1my5BRrq/5utpvSHeCqtKTbPiGwPZVFfGx51d2ZyT6HQV+UzGxYyutvTRkhTUvGMusqS+LwdsURoiCyt295XJhgeToWq7JSAMCm5oexSdh4fqy3K+BkJj9p61VKegCgg6+YVrlr0ce99Z7MqXQZxDeiS8wWqfuOeio1MsiFfSPSZULmc3qsUBccxoYgm1sd8YO3XBL7fu+3bm4WKdQcrukzowI0cTPdgmoDrljwYCSIDfAaS0AVCGHJk8XCwgRugLvWt7+2RTFA== 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)(82310400014)(1800799015)(376005)(36860700004);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2024 10:13:49.5920 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 64cc474b-8541-4682-6be8-08dc440f7155 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: AM4PEPF00027A6C.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9901 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00,BODY_8BITS,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,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 List-Id: Ping. Thanks, Tejas. On 3/13/24 6:07 PM, Tejas Belagod wrote: > Ping! > > On 3/7/24 4:14 PM, Tejas Belagod wrote: >> This patch fixes a bug where vect_recog_abd_pattern called >> vect_convert_output >> with the incorrect vecitype for the corresponding pattern_stmt. >> vect_convert_output expects vecitype to be the vector form of the >> scalar type >> of the LHS of pattern_stmt, but we were passing in the vector form of >> the LHS >> of the new impending conversion statement.  This caused a skew in ABD's >> pattern_stmt having the vectype of the following gimple pattern_stmt. >> >>     2024-03-06  Tejas Belagod  >> >> gcc/ChangeLog: >> >>     PR middle-end/114108 >>     * tree-vect-patterns.cc (vect_recog_abd_pattern): Call >>     vect_convert_output with the correct vecitype. >> >> gcc/testsuite/ChangeLog: >>     * gcc.dg/vect/pr114108.c: New test. >> --- >>   gcc/testsuite/gcc.dg/vect/pr114108.c | 19 +++++++++++++++++++ >>   gcc/tree-vect-patterns.cc            |  5 ++--- >>   2 files changed, 21 insertions(+), 3 deletions(-) >>   create mode 100644 gcc/testsuite/gcc.dg/vect/pr114108.c >> >> diff --git a/gcc/testsuite/gcc.dg/vect/pr114108.c >> b/gcc/testsuite/gcc.dg/vect/pr114108.c >> new file mode 100644 >> index 00000000000..b3075d41398 >> --- /dev/null >> +++ b/gcc/testsuite/gcc.dg/vect/pr114108.c >> @@ -0,0 +1,19 @@ >> +/* { dg-do compile } */ >> + >> +#include "tree-vect.h" >> + >> +typedef signed char schar; >> + >> +__attribute__((noipa, noinline, optimize("O3"))) >> +void foo(const schar *a, const schar *b, schar *c, int n) >> +{ >> +  for (int i = 0; i < n; i++) >> +    { >> +      unsigned u = __builtin_abs (a[i] - b[i]); >> +      c[i] = u <= 7U ? u : 7U; >> +    } >> +} >> + >> + >> +/* { dg-final { scan-tree-dump "LOOP VECTORIZED" "vect" { target >> aarch64*-*-* } } } */ >> +/* { dg-final { scan-tree-dump "vect_recog_abd_pattern: detected" >> "vect" { target aarch64*-*-* } } } */ >> diff --git a/gcc/tree-vect-patterns.cc b/gcc/tree-vect-patterns.cc >> index d562f57920f..4f491c6b833 100644 >> --- a/gcc/tree-vect-patterns.cc >> +++ b/gcc/tree-vect-patterns.cc >> @@ -1576,9 +1576,8 @@ vect_recog_abd_pattern (vec_info *vinfo, >>         && !TYPE_UNSIGNED (abd_out_type)) >>       { >>         tree unsign = unsigned_type_for (abd_out_type); >> -      tree unsign_vectype = get_vectype_for_scalar_type (vinfo, unsign); >> -      stmt = vect_convert_output (vinfo, stmt_vinfo, unsign, stmt, >> -                  unsign_vectype); >> +      stmt = vect_convert_output (vinfo, stmt_vinfo, unsign, stmt, >> vectype_out); >> +      vectype_out = get_vectype_for_scalar_type (vinfo, unsign); >>       } >>     return vect_convert_output (vinfo, stmt_vinfo, out_type, stmt, >> vectype_out); >