From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by sourceware.org (Postfix) with ESMTPS id 5B3453858D37 for ; Wed, 24 Jan 2024 07:01:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5B3453858D37 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=quicinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5B3453858D37 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706079679; cv=none; b=hAWmJiQhUxwB88fk3z5q5I2+G7nqjkeohKI8grdNxWcgNXhKzvpJJdZFArMYwpKam2zmDw8HlzHL1YYt4h/GA0/PZCeKF/szMFA6pHLo4IWGydqkdJByKwED71XUu3oIBGOilbCjkjYQasRJmlB0hatdESz5u89CaLs2oeZY5gg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706079679; c=relaxed/simple; bh=xHR3DGYJstbgkyulc2MaqfCnjjK8zeMlTHLlcj1gORY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=RWLCY13MnMmwDi1CI1siMZlt84y2YJNrcZa2JJnKuxHg47F8OIBO7FkTSGee3swdOKkliwB+zQsnN5Msl6Po7qm6YnigpadrNnWkMHaQw2IPg5r0LN4+hQ3GTvavPaNqCi1zxKtVNQFQOR708VfkH8yxAWtEFHNnBai2fCPSOsY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 40O4jQth016839 for ; Wed, 24 Jan 2024 07:01:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=qcppdkim1; bh=Axmbpwn S5yLJ8f5hZm8jKZiViwR9Pi1kBuIsYc8ytAE=; b=hoj+5cLkw5UU2vNdnHNQQ9G 2Jtthq3r7PkpSC6hG+iiHmwjqoLWweQrDL4k/6zMbhK1P+qojH/HZZBmkHsNVRVy XZuRf1hq04D2t1wI30CjSwpSNnJAeM1G0Xa4DUzHzfYySBA4bRnAErSTW/GTzRKJ 2O5Natv9WJnz0Kq6VaYzolrt3L79aWgpBXaXqzubNkMmEuMTwdvYE5n3cXnoq6pU X14KJvN835SAH/nXBF0h3YV2w0GGSXv+nW6W+YDrzOJQoPN/Dh8cvFsx2KejOSx2 oAICSBe+rEGrKX00EfnpfWglECFZOwMQO0/jU2Foy6J/tj77InWWJuqFUe1DXaw= = Received: from nasanppmta03.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3vtmhr10yj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 24 Jan 2024 07:01:16 +0000 (GMT) Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA03.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 40O71FWl013701 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 24 Jan 2024 07:01:15 GMT Received: from hu-apinski-lv.qualcomm.com (10.49.16.6) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Tue, 23 Jan 2024 23:01:15 -0800 From: Andrew Pinski To: CC: Andrew Pinski Subject: [PATCH] aarch64: Fix movv8di for overlapping register and memory load [PR113550] Date: Tue, 23 Jan 2024 23:01:03 -0800 Message-ID: <20240124070103.3800874-1-quic_apinski@quicinc.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01b.na.qualcomm.com (10.47.209.197) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-ORIG-GUID: 5Q83j8r3Tw3ASNkan_ziBnPMltPdh2WX X-Proofpoint-GUID: 5Q83j8r3Tw3ASNkan_ziBnPMltPdh2WX 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-01-24_02,2024-01-23_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 spamscore=0 mlxlogscore=802 mlxscore=0 bulkscore=0 phishscore=0 malwarescore=0 adultscore=0 impostorscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2401190000 definitions=main-2401240050 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,SPF_HELO_NONE,SPF_PASS,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: The split for movv8di is not ready to handle the case where the setting register overlaps with the address of the memory that is being load. Fixing the split than just making the output constraint as an early clobber for this alternative. The split would first need to figure out which register is overlapping with the address and then only emit that move last. Build and tested for aarch64-linux-gnu with no regressions gcc/ChangeLog: * config/aarch64/aarch64-simd.md (*aarch64_movv8di): Mark the last alternative's output constraint as an early clobber. Signed-off-by: Andrew Pinski --- gcc/config/aarch64/aarch64-simd.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/config/aarch64/aarch64-simd.md b/gcc/config/aarch64/aarch64-simd.md index 662ef696630..ba079298b84 100644 --- a/gcc/config/aarch64/aarch64-simd.md +++ b/gcc/config/aarch64/aarch64-simd.md @@ -7985,7 +7985,7 @@ (define_insn "*aarch64_mov" ) (define_insn "*aarch64_movv8di" - [(set (match_operand:V8DI 0 "nonimmediate_operand" "=r,m,r") + [(set (match_operand:V8DI 0 "nonimmediate_operand" "=r,m,&r") (match_operand:V8DI 1 "general_operand" " r,r,m"))] "(register_operand (operands[0], V8DImode) || register_operand (operands[1], V8DImode))" -- 2.39.3