From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by sourceware.org (Postfix) with ESMTP id 074CF3861893; Mon, 13 May 2024 11:04:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 074CF3861893 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.crashing.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 074CF3861893 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=63.228.1.57 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715598268; cv=none; b=ivqmjrurifXhyTa/msYOxVrFmW/+sILqLrVkDrql+mujtt+PCgkmi15fz/M0fhNSMUK46oShwIUqH+qlJNebIIN6uFGgIy0TTrAMvUXvr7SAwMPmdeLLHNUoi2fm509XUUTswwwTz7JtQO0QfyKDWzAqTBxJu80aLF8SxQD/Ztw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715598268; c=relaxed/simple; bh=cp9F1TlZW3sBECepX5g2GbPBmO1lJpkwlgyMcT5j93I=; h=Date:From:To:Subject:Message-ID:Mime-Version; b=dZ34eFNWm0BQsrOAF8UIaOLU2wQT3JvkPWMgVfKFkzMHCVNFHinYP/VKNRH6ZlCO4gyW0JQ5GK1yPHDoA+bTaLe0s7AlNwKZ7yIjX1Yx7sq8GCFRpdfxMSeA8mVJ4fhM2af0FQSoT6Ne1jOiNKwte3Mcf8Eip8NuqvCS2CjLT88= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 44DB3Nwr001901; Mon, 13 May 2024 06:03:23 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 44DB3M0A001900; Mon, 13 May 2024 06:03:22 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Mon, 13 May 2024 06:03:22 -0500 From: Segher Boessenkool To: Jiufu Guo Cc: gcc-patches@gcc.gnu.org, dje.gcc@gmail.com, linkw@gcc.gnu.org, bergner@linux.ibm.com Subject: Re: [PATCH] report message for operator %a on unaddressible exp Message-ID: <20240513110322.GD19790@gate.crashing.org> References: <20240513025712.889169-1-guojiufu@linux.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240513025712.889169-1-guojiufu@linux.ibm.com> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no 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! On Mon, May 13, 2024 at 10:57:12AM +0800, Jiufu Guo wrote: > For PR96866, when gcc print asm code for modifier "%a" which requires > an address operand, It requires a *memory* operand, and it outputs its address. This is a generic modifier btw (not rs6000). > while the operand is with the constraint "X" which > allow non-address form. An error message would be reported to indicate > the invalid asm operands. "non-address form"? Every mem has an address. But 'X' is not memory. What is it at all? Why do we use that when you *have to* have mem here? The code you add that tests for address_operand looks wrong. I would expect it to test the operand is memory, instead :-) Segher