From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26504 invoked by alias); 12 Dec 2007 05:06:19 -0000 Received: (qmail 26492 invoked by uid 22791); 12 Dec 2007 05:06:18 -0000 X-Spam-Check-By: sourceware.org Received: from uni12mr.unity.ncsu.edu (HELO uni12mr.unity.ncsu.edu) (152.1.1.171) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 12 Dec 2007 05:06:09 +0000 Received: from lakshmi (lakshmi.ece.ncsu.edu [152.14.22.51]) by uni12mr.unity.ncsu.edu (8.13.7/8.13.8/Nv5.2006.1109) with ESMTP id lBC564Ke016379; Wed, 12 Dec 2007 00:06:05 -0500 (EST) From: "Balaji V. Iyer" To: "'Rask Ingemann Lambertsen'" Cc: , References: <000c01c83a41$4499e240$33160e98@ece.ncsu.edu> <20071209130740.GI17368@sygehus.dk> <000d01c83a81$85462ca0$33160e98@ece.ncsu.edu> <20071210171542.GL17368@sygehus.dk> Subject: RE: Help with another constraint Date: Wed, 12 Dec 2007 05:13:00 -0000 Message-ID: <002601c83c7c$b3763960$33160e98@ece.ncsu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 In-Reply-To: <20071210171542.GL17368@sygehus.dk> Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2007-12/txt/msg00363.txt.bz2 Hello Everyone, I got past that negdi2 and some errors..now I am trying to compile some linux module, and it says I am not able to find this constraint: init/main.c: In function 'start_kernel': init/main.c:441: error: insn does not satisfy its constraints: (insn 112 110 478 12 (set (mem:QI (reg/v/f:SI 16 r16 [orig:72 line.183 ] [72]) [0 S1 A8]) (const_int 0 [0x0])) 16 {movqi} (nil) (nil)) init/main.c:441: internal compiler error: in reload_cse_simplify_operands, at postreload.c:391 Please submit a full bug report, Here is what I have for movqi: (define_insn "movqi" [(set (match_operand:QI 0 "nonimmediate_operand" "=p,q,m,m,p,q,p,q") (match_operand:QI 1 "general_operand" "m,m,p,q,p,q,I,I"))] "" "* switch(which_alternative) { case 0: case 1: return \"l.lbz \\t%0,%1\"; case 2: case 3: return \"l.sb \\t%0,%1\"; case 4: case 5: return \"l.ori \\t%0,%1,0\\t # move reg to reg\"; case 6: case 7: return \"l.addi \\t%0,r0,%1\\t # move immediate\"; default: return \"invalid alternative\"; } " To give a quick explanation: p = register numbers between 0-31 (inclusive) q = register numbers between 32-63 (inclusive) I = constant int value: ((VALUE) >=-32768 && (VALUE) <=32767) So, what am I missing? Any help is highly appreciated! Thanking You, Yours Sincerely, Balaji V. Iyer. -- Balaji V. Iyer PhD Student, Center for Efficient, Scalable and Reliable Computing, Department of Electrical and Computer Engineering, North Carolina State University. -----Original Message----- From: 'Rask Ingemann Lambertsen' [mailto:rask@sygehus.dk] Sent: Monday, December 10, 2007 12:16 PM To: Balaji V. Iyer Cc: gcc@gcc.gnu.org; openrisc@opencores.org Subject: Re: Help with another constraint On Sun, Dec 09, 2007 at 11:35:32AM -0500, Balaji V. Iyer wrote: > Hello Rask, > I am not understanding your response, can you clarify it for me? > > As per the question about the error message above? > > ../../gcc-4.0.2/gcc/libgcc2.c -o libgcc/./_negdi2.o > ../../gcc-4.0.2/gcc/libgcc2.c: In function '__negdi2': > ../../gcc-4.0.2/gcc/libgcc2.c:72: error: insn does not satisfy its > constraints: I think this is misleading you. It seems likely that the problem is with the predicate and not the constraint. > (insn 15 13 16 (set (mem:SI (plus:SI (reg/f:SI 2 r2) ^^^ This has to be a register, doesn't it? If so, use -fdump-rtl-all and look at the dump files to see where it goes wrong. > (const_int -28 [0xffffffe4])) [0 D.1256+0 S4 A32]) > (neg:SI (reg:SI 3 r3 [orig:80 D.1255 ] [80]))) 38 {negsi2} (nil) > (nil)) Please also post your negsi2 pattern. -- Rask Ingemann Lambertsen Danish law requires addresses in e-mail to be logged and stored for a year