From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7906 invoked by alias); 27 May 2005 18:24:03 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 7425 invoked by uid 48); 27 May 2005 18:23:44 -0000 Date: Fri, 27 May 2005 18:32:00 -0000 Message-ID: <20050527182344.7424.qmail@sourceware.org> From: "sje at cup dot hp dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050523164811.21721.doko@debian.org> References: <20050523164811.21721.doko@debian.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/21721] [4.0 regression] fails to assemble, Use of p0 is not valid in this context X-Bugzilla-Reason: CC X-SW-Source: 2005-05/txt/msg03620.txt.bz2 List-Id: ------- Additional Comments From sje at cup dot hp dot com 2005-05-27 18:23 ------- I am not sure the underlying problem is fixed. The assembly language error seems to come from the line: .pred.rel.mutex p0, p1 p0 is a fixed predicate register and should never show up here. p1 is not used in this program and due to the way GCC allocates predicate registers on IA64 I don't think GCC can ever use p1. The routine emit_predicate_relation_info in config/ia64/ia64.c looks at all predicate registers to see if it should put out a pred.rel.mutex for them. I wonder if it should even look at p0. We could have it start at p2 instead. But maybe it would be better to understand why it thinks it needs a mutex for p0 in this case. -- What |Removed |Added ---------------------------------------------------------------------------- CC| |sje at cup dot hp dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21721