From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ciao.gmane.io (ciao.gmane.io [116.202.254.214]) by sourceware.org (Postfix) with ESMTPS id 369943858CDB for ; Mon, 8 Jan 2024 18:39:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 369943858CDB Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=hesbynett.no Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=m.gmane-mx.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 369943858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=116.202.254.214 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704739190; cv=none; b=AgfOpCJeXA7z+RT99iNbFdjdgIrqI/OF/uK4PsLVMJLGhogs3kEIfFBGn2Tn3UqQVO4bJu9htIUn5+OSWuSFu3Rksl4qaugmG0Ddn0oMvR5jLqBAfmjfqNTop6mqGfbNSXsETiN2Y3B6RKK9rB5yRoMV1jAlVRDTqc545rcI9hQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704739190; c=relaxed/simple; bh=8o1SUbIYHlF9XxSL10/fIc1Y68plDuGfA5QorRnNG+k=; h=To:From:Subject:Date:Message-ID:Mime-Version; b=kvYsDG6mhJN5ivKLPc9D5hAsYFLspUMxcuVWByNL8v+jSnWLKYT5FYTXFr2IOK6C2erHgU3du9ApdBAN8pHZ6cKC8q0sD2R12Du4Z4oFwfZM/91mO03btGaisw5SlX9WoTsQ7kEPpRg86Lpl4fhocOJk2T0xIQlQHim9gXx4clY= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1rMuXK-0001Rl-SQ for gcc-help@gcc.gnu.org; Mon, 08 Jan 2024 19:39:46 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: gcc-help@gcc.gnu.org From: David Brown Subject: Re: Odd error with the "X" inline assembly constraint Date: Mon, 8 Jan 2024 19:39:39 +0100 Message-ID: References: <20240105184612.GE19790@gate.crashing.org> <5060b400-38cb-410b-b2d8-1f305b309a50@126.com> <20240107183235.GH19790@gate.crashing.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit User-Agent: Mozilla Thunderbird Content-Language: en-GB In-Reply-To: <20240107183235.GH19790@gate.crashing.org> X-Spam-Status: No, score=-3030.6 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: On 07/01/2024 19:32, Segher Boessenkool wrote: > On Sun, Jan 07, 2024 at 06:04:23PM +0800, LIU Hao wrote: >> 在 2024/1/6 2:46, Segher Boessenkool 写道: >>> The C constraint means "Any operand whatsoever is allowed." Here you >>> are saying to use it both as input and as output, and GCC does not know >>> how to reload wherever it chose to put it. >> >> Would you mind elaborating a bit more? On x86 and x86-64 it's almost always >> the case that an expression can be used as either a source or a destination. > > This is just GCC internals. The compiler will never look at the > template string in an asm at all, anyway. > > I don't know why exactly you get the error. Make a compilable > reproducer, file a bug (), it sounds like > something we can improve :-) > I've filed it : I don't know if this is something that the developer will want to spend much time on, but it might appeal to someone's curiosity! David