From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31601 invoked by alias); 14 Sep 2005 11:06:43 -0000 Mailing-List: contact cgen-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cgen-owner@sources.redhat.com Received: (qmail 31561 invoked by uid 22791); 14 Sep 2005 11:06:37 -0000 Received: from multi.imgtec.com (HELO multi.imgtec.com) (194.200.65.239) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Wed, 14 Sep 2005 11:06:37 +0000 X-SEF-Processed: 5_0_0_812__2005_09_14_12_06_22 Received: from Unknown [192.168.5.239] by multi.imgtec.com - SurfControl E-mail Filter (5.0); Wed, 14 Sep 2005 12:06:22 +0100 Received: from lemail1.le.imgtec.org ([192.168.152.65]) by klmail1.kl.imgtec.org with Microsoft SMTPSVC(6.0.3790.1830); Wed, 14 Sep 2005 12:06:22 +0100 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: Gas error messages Date: Wed, 14 Sep 2005 11:06:00 -0000 Message-ID: <0D107966AF6D79418315B7C5549F4B5104DFF3@lemail1.le.imgtec.org> From: "Will Newton" To: "Frank Ch. Eigler" Cc: X-SW-Source: 2005-q3/txt/msg00027.txt.bz2 =20 > > The function is actually called "parse_byte_offset6" and is=20 > definitely=20 > > called. [...] >=20 > Then the question is why is the cgen_parse_keyword function=20 > also called for your instruction. You may need to put a=20 > breakpoint on TARGET_cgen_parse_operand and work through it.=20=20 > Chances are something is wrong with your .opc/.cpu file, but=20 > without seeing relevant excerpts of those and a test case, I=20 > can't be much more specific. The assembler I am writing supports a number of addressing modes, expressed like: GET D0.0,[D0.1+D0.2] ; D0.0 <- mem[base(D0.1)+offset(D0.2)] GET D0.0,[D0.1+#20] ; D0.0 <- mem[base(D0.1)+offset(20)] I have specified these a separate instrucions, e.g.: (dni ... "GET $DataReg1,[$DataReg2+$DataReg3]" ... ) (dni ... "GET $DataReg1,[$DataReg2+#$Immed]" ... ) The immediate form is parsed by my custom parser, which returns it's error message. However, it seems that cgen goes on to attempt to parse the immediate as a register name, which fails with "unrecognized keyword". Is there a way to control this behaviour? Once I have hit the hash I would like to treat the value as always an immediate.