From patchwork Wed Jul 5 11:51:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: jeevitha X-Patchwork-Id: 116081 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9f45:0:b0:3ea:f831:8777 with SMTP id v5csp1808080vqx; Wed, 5 Jul 2023 04:52:10 -0700 (PDT) X-Google-Smtp-Source: APBJJlESIcIit7EH/wAggozu9FUAyc/hqPY75cpI8dUWYQdNA8nf+0E2G6D+I7ipMgwG2ohmkjXV X-Received: by 2002:aa7:db48:0:b0:51b:fa0a:dc37 with SMTP id n8-20020aa7db48000000b0051bfa0adc37mr13220420edt.10.1688557930155; Wed, 05 Jul 2023 04:52:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688557930; cv=none; d=google.com; s=arc-20160816; b=Cv5aknBEMOfcScf22wGW4gX3zgaHSsGcZwfskrvAM1G148zcpGKEgWiH19CbX6laX4 WaQH5ZBSeMygE7aR2kp//z0szJncYCGbbCwpaiIgP6/Vbwy2AnqgSV5NdX5x4MF8KNDC vmSPQlqlu6RBBX6CoQzAHw75IhM56NG9DQV38uoAQ/PY2NlOgYWhTJdF2awJCiwo+YZY pYbSJz2A8TlLe26xbOCDpR3565ylKX2z7kvH2wFfui1Tkk6HkYO4ajI4l/g7Lq9QjaMB cBB2dWw0dIFBMddDIhEErHnnYM1JWmr5pAQnYNp71Ixu9sd0I+DD5je9GP1zYs0zh25d Ue6g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-transfer-encoding:cc:to:subject:content-language:user-agent :mime-version:date:message-id:dmarc-filter:delivered-to :dkim-signature:dkim-filter; bh=YWa+2tcVO09os/ejz2JoEfKse9iWFLkxUsFHFZh+gdI=; fh=AffgJ/P6u5dM+o3ajOYD9g9K4XycYEs38WW1aqtA9Bs=; b=rdLWA76oiPe22KjtHW1AvVMt/LTObTtUdyl15JkwNtMShhk5O0c6zzG3kNLb4X7U6C M8FzdXFF/+1Tas5Li8EK8zVRJJON55VZHLrhDYYZ1i53H10Rmn6oumjpYzMexdBrWPna RZpanG65jdWlpxxIRp0ZkoyN9nxSPq7D1vFGE/Q6hxcJ0C6SUIiN+O6igOOkpq7kIc6/ 9QfIgqhMSKHVa1jwG/HCRYhcnpDeFwRjDO0KX/kLgbTTC9S3Xr0FHHvimTK3O0XpL+u2 FQgEik9g6dTxA1+g20iFWx39nLDkQY+nQ6vNBJ92toE2g/PnghH1tvI0On0xnwNOea7Y rAOg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=ifPKFA1i; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id d2-20020aa7d682000000b0051e0fa84ec8si3723958edr.183.2023.07.05.04.52.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jul 2023 04:52:10 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=ifPKFA1i; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gnu.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 11DC23858288 for ; Wed, 5 Jul 2023 11:52:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 11DC23858288 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1688557929; bh=YWa+2tcVO09os/ejz2JoEfKse9iWFLkxUsFHFZh+gdI=; h=Date:Subject:To:Cc:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From:Reply-To:From; b=ifPKFA1iX7kCu8C7EFp/XcsxTwsF+8cKohoGzjdyblan5uICbvorx3NiQB0lCMBPG BnOBkdtjWPGW6fxYi2vSVLMWhksi2E17oCw4DRkYK30+b6chJze1YG0kJzWxjiDpzb wRnFBz+WIWV454ywA3M4zA4gRqSvxmLmO7XnWTq0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org 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 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 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 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 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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: P Jeevitha via Gcc-patches From: jeevitha Reply-To: P Jeevitha Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1770581320477271204?= X-GMAIL-MSGID: =?utf-8?q?1770581320477271204?= 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)); +}