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:[EMAIL PROTECTED]
Sent: Monday, December 10, 2007 12:16 PM
To: Balaji V. Iyer
Cc: [email protected]; [EMAIL PROTECTED]
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