From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id DECA73858D20 for ; Mon, 8 Apr 2024 08:55:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DECA73858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DECA73858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712566543; cv=none; b=as/FHhd+iS0Y0X1TlXXLDu/ZQVYPZht5NkE1Y1fQmgXF3YPkyKJVDDiWdVX5xebdKd+fRGl5WWvESM41d0xbV0W8nUIGk9C9nRs9G8+6rSZ5OdAPbi7+QP/qk4FcvCFBj34QPsP1+6s2JNmES6dAMyC+R/mZao6NYfxIifdyymE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1712566543; c=relaxed/simple; bh=gBZixuaqlSrz0tN0wWlM8/HqKgA868BbF6cXTcHrgeY=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=mamfaXWxDilitOyaq2b5tj9zVVxlwm5NLOn8XThXbLyy8xJUfzOPqaXrlPyi/0iYITU6hY6RNoUadF9E51wL6as9ANtjRkQRxapzZkXAN5wDXTSNfQZS1pkQqxcM6gF4cRAvL3gnjzKjDH7D8u8n/6VlMw/8R5NwMDGkjIz0FJ4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353723.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 43881P4M018212; Mon, 8 Apr 2024 08:55:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding; s=pp1; bh=YRVUoOxrWSkMcoxMcTbuzt5GDP+cfyIn3iV0/t6QSTs=; b=Iw+mW7aCPKVEcE+v6Db/a2Cq4g4RBGUslk9auBjNaIAgf2HiBKxktMzs62IlgwnYo7ja 4H4KzmLtUvJ/pgg/VuI3RuvPA/iObTwqZPotCNLJGCOMMZjqNhyr/O8FjpLQkDm4QIv+ nYPv25epdFbPd+qrNEqS5UDFN7Mqfw0AHA2ZnieL5ParJJRdwz5HjFvywZrowm6uv6xC HtDPGdN2h9fHqbUDl0acvSb9zOPy+vSt7QgEOtwwx9h0QF+eC7fluj+5IR27mrgGSpkb 2l0jCMnTxrjTDHXBtG1KUcmJ//W9YsaL1Ap+ORw+87vwa65lkC+fqjoFpWO83z/KrxVt Sw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xcahagby5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Apr 2024 08:55:38 +0000 Received: from m0353723.ppops.net (m0353723.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 4388tbSt004640; Mon, 8 Apr 2024 08:55:37 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xcahagby2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Apr 2024 08:55:37 +0000 Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 4388CHQ5022664; Mon, 8 Apr 2024 08:55:37 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3xbhqnq5e5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Apr 2024 08:55:37 +0000 Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 4388tXZf38928864 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Apr 2024 08:55:35 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2358320049; Mon, 8 Apr 2024 08:55:33 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2581820040; Mon, 8 Apr 2024 08:55:31 +0000 (GMT) Received: from [9.197.228.82] (unknown [9.197.228.82]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Apr 2024 08:55:30 +0000 (GMT) Message-ID: <20234c37-d03b-a163-9e60-d63b965a55e0@linux.ibm.com> Date: Mon, 8 Apr 2024 16:55:29 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH] rs6000: Replace OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR [PR101865] Content-Language: en-US To: Peter Bergner Cc: Segher Boessenkool , David Edelsohn , GCC Patches References: From: "Kewen.Lin" In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: E2F55nHdFoXmU-Asg01yUgRDHEXAJHnO X-Proofpoint-GUID: 62bIF3XLEdBn188_ks2nZa91_aUS3UVa X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-04-08_07,2024-04-05_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 malwarescore=0 clxscore=1015 phishscore=0 lowpriorityscore=0 impostorscore=0 mlxscore=0 adultscore=0 spamscore=0 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2404080068 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,NICE_REPLY_A,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP 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: Hi Peter, on 2024/4/6 06:28, Peter Bergner wrote: > This is a cleanup patch in preparation to fixing the real bug in PR101865. > TARGET_DIRECT_MOVE is redundant with TARGET_P8_VECTOR, so alias it to that. > Also replace all usages of OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR > and delete the now dead mask. > > This passed bootstrap and retesting on powerpc64le-linux with no regressions. > Ok for trunk? > > Eventually we'll want to backport this along with the follow-on patch that > actually fixes PR101865. > > Peter > > > gcc/ > PR target/101865 > * config/rs6000/rs6000.h (TARGET_DIRECT_MOVE): Define. > * config/rs6000/rs6000.cc (rs6000_option_override_internal): Replace > OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete redundant > OPTION_MASK_DIRECT_MOVE usage. Delete TARGET_DIRECT_MOVE dead code. > (rs6000_opt_masks): Neuter the "direct-move" option. > * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Replace > OPTION_MASK_DIRECT_MOVE with OPTION_MASK_P8_VECTOR. Delete useless > comment. > * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Delete > OPTION_MASK_DIRECT_MOVE. > (OTHER_VSX_VECTOR_MASKS): Likewise. > (POWERPC_MASKS): Likewise. > * config/rs6000/rs6000.opt (mno-direct-move): New. > (mdirect-move): Remove Mask and Var. > > > diff --git a/gcc/config/rs6000/rs6000.h b/gcc/config/rs6000/rs6000.h > index 68bc45d65ba..77d045c9f6e 100644 > --- a/gcc/config/rs6000/rs6000.h > +++ b/gcc/config/rs6000/rs6000.h > @@ -471,6 +471,8 @@ extern int rs6000_vector_align[]; > #define TARGET_EXTSWSLI (TARGET_MODULO && TARGET_POWERPC64) > #define TARGET_MADDLD TARGET_MODULO > > +/* TARGET_DIRECT_MOVE is redundant to TARGET_P8_VECTOR, so alias it to that. */ > +#define TARGET_DIRECT_MOVE TARGET_P8_VECTOR > #define TARGET_XSCVDPSPN (TARGET_DIRECT_MOVE || TARGET_P8_VECTOR) > #define TARGET_XSCVSPDPN (TARGET_DIRECT_MOVE || TARGET_P8_VECTOR) > #define TARGET_VADDUQM (TARGET_P8_VECTOR && TARGET_POWERPC64) > diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc > index 6ba9df4f02e..c241371147c 100644 > --- a/gcc/config/rs6000/rs6000.cc > +++ b/gcc/config/rs6000/rs6000.cc > @@ -3811,7 +3811,7 @@ rs6000_option_override_internal (bool global_init_p) > Testing for direct_move matches power8 and later. */ > if (!BYTES_BIG_ENDIAN > && !(processor_target_table[tune_index].target_enable > - & OPTION_MASK_DIRECT_MOVE)) > + & OPTION_MASK_P8_VECTOR)) > rs6000_isa_flags |= ~rs6000_isa_flags_explicit & OPTION_MASK_STRICT_ALIGN; > > /* Add some warnings for VSX. */ > @@ -3853,8 +3853,7 @@ rs6000_option_override_internal (bool global_init_p) > && (rs6000_isa_flags_explicit & (OPTION_MASK_SOFT_FLOAT > | OPTION_MASK_ALTIVEC > | OPTION_MASK_VSX)) != 0) > - rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO > - | OPTION_MASK_DIRECT_MOVE) > + rs6000_isa_flags &= ~((OPTION_MASK_P8_VECTOR | OPTION_MASK_CRYPTO) > & ~rs6000_isa_flags_explicit); > > if (TARGET_DEBUG_REG || TARGET_DEBUG_TARGET) > @@ -3939,13 +3938,6 @@ rs6000_option_override_internal (bool global_init_p) > rs6000_isa_flags &= ~OPTION_MASK_FPRND; > } > > - if (TARGET_DIRECT_MOVE && !TARGET_VSX) > - { > - if (rs6000_isa_flags_explicit & OPTION_MASK_DIRECT_MOVE) > - error ("%qs requires %qs", "-mdirect-move", "-mvsx"); > - rs6000_isa_flags &= ~OPTION_MASK_DIRECT_MOVE; > - } > - > if (TARGET_P8_VECTOR && !TARGET_ALTIVEC) > rs6000_isa_flags &= ~OPTION_MASK_P8_VECTOR; > > @@ -24429,7 +24421,7 @@ static struct rs6000_opt_mask const rs6000_opt_masks[] = > false, true }, > { "cmpb", OPTION_MASK_CMPB, false, true }, > { "crypto", OPTION_MASK_CRYPTO, false, true }, > - { "direct-move", OPTION_MASK_DIRECT_MOVE, false, true }, > + { "direct-move", 0, false, true }, > { "dlmzb", OPTION_MASK_DLMZB, false, true }, > { "efficient-unaligned-vsx", OPTION_MASK_EFFICIENT_UNALIGNED_VSX, > false, true }, > diff --git a/gcc/config/rs6000/rs6000-c.cc b/gcc/config/rs6000/rs6000-c.cc > index ce0b14a8d37..647f20de7f2 100644 > --- a/gcc/config/rs6000/rs6000-c.cc > +++ b/gcc/config/rs6000/rs6000-c.cc > @@ -429,19 +429,7 @@ rs6000_target_modify_macros (bool define_p, HOST_WIDE_INT flags) > rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR6"); > if ((flags & OPTION_MASK_POPCNTD) != 0) > rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR7"); > - /* Note that the OPTION_MASK_DIRECT_MOVE flag is automatically > - turned on in the following condition: > - 1. TARGET_P8_VECTOR is enabled and OPTION_MASK_DIRECT_MOVE is not > - explicitly disabled. > - Hereafter, the OPTION_MASK_DIRECT_MOVE flag is considered to > - have been turned on explicitly. > - Note that the OPTION_MASK_DIRECT_MOVE flag is automatically > - turned off in any of the following conditions: > - 1. TARGET_HARD_FLOAT, TARGET_ALTIVEC, or TARGET_VSX is explicitly > - disabled and OPTION_MASK_DIRECT_MOVE was not explicitly > - enabled. > - 2. TARGET_VSX is off. */ > - if ((flags & OPTION_MASK_DIRECT_MOVE) != 0) > + if ((flags & OPTION_MASK_P8_VECTOR) != 0) > rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR8"); > if ((flags & OPTION_MASK_MODULO) != 0) > rs6000_define_or_undefine_macro (define_p, "_ARCH_PWR9"); > diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def > index 28249600318..45dd5a85901 100644 > --- a/gcc/config/rs6000/rs6000-cpus.def > +++ b/gcc/config/rs6000/rs6000-cpus.def > @@ -49,7 +49,6 @@ > #define ISA_2_7_MASKS_SERVER (ISA_2_6_MASKS_SERVER \ > | OPTION_MASK_P8_VECTOR \ > | OPTION_MASK_CRYPTO \ > - | OPTION_MASK_DIRECT_MOVE \ > | OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ > | OPTION_MASK_QUAD_MEMORY \ > | OPTION_MASK_QUAD_MEMORY_ATOMIC) > @@ -90,7 +89,6 @@ > #define OTHER_VSX_VECTOR_MASKS (OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ > | OPTION_MASK_FLOAT128_KEYWORD \ > | OPTION_MASK_P8_VECTOR \ > - | OPTION_MASK_DIRECT_MOVE \ > | OPTION_MASK_CRYPTO \ > | OPTION_MASK_P9_VECTOR \ > | OPTION_MASK_FLOAT128_HW \ > @@ -118,7 +116,6 @@ > | OPTION_MASK_CMPB \ > | OPTION_MASK_CRYPTO \ > | OPTION_MASK_DFP \ > - | OPTION_MASK_DIRECT_MOVE \ > | OPTION_MASK_DLMZB \ > | OPTION_MASK_EFFICIENT_UNALIGNED_VSX \ > | OPTION_MASK_FLOAT128_HW \ > diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt > index 83197681b66..62131e45bdf 100644 > --- a/gcc/config/rs6000/rs6000.opt > +++ b/gcc/config/rs6000/rs6000.opt > @@ -490,8 +490,11 @@ mcrypto > Target Mask(CRYPTO) Var(rs6000_isa_flags) > Use ISA 2.07 Category:Vector.AES and Category:Vector.SHA2 instructions. > > +mno-direct-move > +Target Undocumented WarnRemoved > + > mdirect-move > -Target Undocumented Mask(DIRECT_MOVE) Var(rs6000_isa_flags) WarnRemoved > +Target Undocumented WarnRemoved When reviewing my previous patch to "neuter option -mpower{8,9}-vector", Segher mentioned that we don't need to keep such option warning all the time and can drop it like in a release later as users should be aware of this information then, I agreed and considering that patch disabling -m[no-]direct-move was r8-7845-g57f108f5a1e1b2, I think we can just remove m[no-]direct-move here? What do you think? OK for trunk with this tweaked if you agree that, and also ok for active release branches after burn-in time, thanks! BR, Kewen