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 A172B3858C5E for ; Wed, 5 Jul 2023 11:51:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A172B3858C5E Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.vnet.ibm.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=linux.vnet.ibm.com Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 365BkqXK007849; Wed, 5 Jul 2023 11:51:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : mime-version : from : subject : to : cc : content-type : content-transfer-encoding; s=pp1; bh=YWa+2tcVO09os/ejz2JoEfKse9iWFLkxUsFHFZh+gdI=; b=f8WLqYm96mPpmvFbgJTaX1eJGiW20OjbmJhSP/SgNMha5+SuRgcxugSzXudsPPM9RW84 CLLMOxWWoVdVsHVpm+yPJOVkJHlwkfRQyqtYD1c2t7JoVhOsqt2YU+SKFKiYs7MW5HYw 9C/OpMz8KGUqsM6Fw9A+sgNlmcKTtTHihG/wgltYc0mVM5BIBhOjLLp26YaB7qY4ihXW BUNsmusFv5zUipeEy7j8Tv7LWHshkg9i5UKQr5Em8wt4+Q5OGsj2XXoqPlr3KbTuTtzN a/vAEPAxWtMQX6/nYRlCFK/4crckcvSejnlkR6O6HqyDTzIGuDeV8dpQn3mCiHcwIZeD SQ== Received: from ppma01dal.us.ibm.com (83.d6.3fa9.ip4.static.sl-reverse.com [169.63.214.131]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3rn7xk82ce-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Jul 2023 11:51:24 +0000 Received: from pps.filterd (ppma01dal.us.ibm.com [127.0.0.1]) by ppma01dal.us.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 365A0ueA008593; Wed, 5 Jul 2023 11:51:24 GMT Received: from smtprelay06.wdc07v.mail.ibm.com ([9.208.129.118]) by ppma01dal.us.ibm.com (PPS) with ESMTPS id 3rjbs66hax-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 05 Jul 2023 11:51:24 +0000 Received: from smtpav04.wdc07v.mail.ibm.com (smtpav04.wdc07v.mail.ibm.com [10.39.53.231]) by smtprelay06.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 365BpMmk64094468 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 5 Jul 2023 11:51:22 GMT Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 2D25658056; Wed, 5 Jul 2023 11:51:22 +0000 (GMT) Received: from smtpav04.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 474E758050; Wed, 5 Jul 2023 11:51:20 +0000 (GMT) Received: from [9.43.44.169] (unknown [9.43.44.169]) by smtpav04.wdc07v.mail.ibm.com (Postfix) with ESMTP; Wed, 5 Jul 2023 11:51:19 +0000 (GMT) Message-ID: <56b3d9a9-fd0b-3760-3a62-25dcddd4dc85@linux.vnet.ibm.com> Date: Wed, 5 Jul 2023 17:21:18 +0530 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Content-Language: en-US From: P Jeevitha Subject: [PATCH] rs6000: Don't ICE when generating vector pair load/store insns [PR110411] To: gcc-patches@gcc.gnu.org, Segher Boessenkool , linkw@linux.ibm.com Cc: Peter Bergner Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-GUID: 1OHavW2Y0zf-ZJTZjbbNLhbtr2ZLk5KM X-Proofpoint-ORIG-GUID: 1OHavW2Y0zf-ZJTZjbbNLhbtr2ZLk5KM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.254,Aquarius:18.0.957,Hydra:6.0.591,FMLib:17.11.176.26 definitions=2023-07-05_02,2023-07-05_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 impostorscore=0 priorityscore=1501 malwarescore=0 phishscore=0 mlxlogscore=997 mlxscore=0 bulkscore=0 spamscore=0 adultscore=0 suspectscore=0 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307050102 X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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 All, The following patch has been bootstrapped and regtested on powerpc64le-linux. while generating vector pairs of load & store instruction, the src address was treated as an altivec type and that type of address is invalid for lxvp and stxvp insns. The solution for this is to avoid altivec type address for OOmode and XOmode. 2023-07-05 Jeevitha Palanisamy gcc/ PR target/110411 * config/rs6000/rs6000.cc (rs6000_legitimate_address_p): Avoid altivec address for OOmode and XOmde. gcc/testsuite/ PR target/110411 * gcc.target/powerpc/pr110411.c: New testcase. diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 07c3a3d15ac..b914c65e5c9 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -9894,6 +9894,8 @@ rs6000_legitimate_address_p (machine_mode mode, rtx x, bool reg_ok_strict) /* Handle unaligned altivec lvx/stvx type addresses. */ if (VECTOR_MEM_ALTIVEC_OR_VSX_P (mode) + && mode != OOmode + && mode != XOmode && GET_CODE (x) == AND && CONST_INT_P (XEXP (x, 1)) && INTVAL (XEXP (x, 1)) == -16) diff --git a/gcc/testsuite/gcc.target/powerpc/pr110411.c b/gcc/testsuite/gcc.target/powerpc/pr110411.c new file mode 100644 index 00000000000..83ef0638fb2 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr110411.c @@ -0,0 +1,21 @@ +/* PR target/110411 */ +/* { dg-options "-O2 -mdejagnu-cpu=power10 -S -mblock-ops-vector-pair" } */ + +/* Verify we do not ICE on the following. */ + +#include + +struct s { + long a; + long b; + long c; + long d: 1; +}; +unsigned long ptr; + +void +foo (struct s *dst) +{ + struct s *src = (struct s *)(ptr & ~0xFUL); + memcpy (dst, src, sizeof(struct s)); +}