Re: error compiling libgcc with ported cross-compiler

2007-09-11 Thread Tomas Svensson
Thanks a lot for your input, I think I understand some of that code better now. I stumbled upon a solution last night, on realizing that the problem was with the DFmode powidf2 and seeing that I had not defined the movsf or movdf insns (because I thought I shouldn't need them, having no HW

Re: error compiling libgcc with ported cross-compiler

2007-09-11 Thread Rask Ingemann Lambertsen
On Tue, Sep 11, 2007 at 08:52:38AM +0200, Tomas Svensson wrote: Thanks a lot for your input, I think I understand some of that code better now. I stumbled upon a solution last night, on realizing that the problem was with the DFmode powidf2 and seeing that I had not defined the movsf or

Re: error compiling libgcc with ported cross-compiler

2007-09-11 Thread Tomas Svensson
On 9/11/07, Rask Ingemann Lambertsen [EMAIL PROTECTED] wrote: On Tue, Sep 11, 2007 at 08:52:38AM +0200, Tomas Svensson wrote: You shouldn't define them, they'll only hide the problem. You're right, and getting REG_OK_STRICT right solved the problem! That was probably the best answer I have

error compiling libgcc with ported cross-compiler

2007-09-10 Thread Tomas Svensson
I am porting gcc to a new target architecture, and have come across a problem when the make process tries to compile libgcc. The error I get is included below. It seems that gcc has emitted rtl describing a memory reference (mem (plus (mem (plus (reg ..) (const_int ..))) (const_int ..))), which

RE: error compiling libgcc with ported cross-compiler

2007-09-10 Thread Dave Korn
On 10 September 2007 08:55, Tomas Svensson wrote: I am porting gcc to a new target architecture, and have come across a problem when the make process tries to compile libgcc. The error I get is included below. It seems that gcc has emitted rtl describing a memory reference (mem (plus (mem

Re: error compiling libgcc with ported cross-compiler

2007-09-10 Thread Rask Ingemann Lambertsen
On Mon, Sep 10, 2007 at 09:54:57AM +0200, Tomas Svensson wrote: /cygdrive/c/home/risc/src/gcc-4.1.2/gcc/libgcc2.c: In function '__powidf2': /cygdrive/c/home/risc/src/gcc-4.1.2/gcc/libgcc2.c:1559: error: insn does not satisfy its constraints: (insn 114 153 117

Re: error compiling libgcc with ported cross-compiler

2007-09-10 Thread Tomas Svensson
On 9/10/07, Rask Ingemann Lambertsen [EMAIL PROTECTED] wrote: It would help a lot if you post your GO_IF_LEGITIMATE_ADDRESS. It's really very basic: # define GO_IF_LEGITIMATE_ADDRESS(MODE, X, ADDR) \ { if (legitimate_address_p (MODE, X, true)) goto ADDR; } and in the .c-file: bool

Re: error compiling libgcc with ported cross-compiler

2007-09-10 Thread Jim Wilson
Tomas Svensson wrote: It seems that gcc has emitted rtl describing a memory reference (mem (plus (mem (plus (reg ..) (const_int ..))) (const_int ..))), which should not have been permitted by GO_IF_LEGITIMATE_ADDRESS since it only allows (mem (plus (reg ..) (const ..))), and forbids a second

Re: error compiling libgcc with ported cross-compiler

2007-09-10 Thread Rask Ingemann Lambertsen
On Mon, Sep 10, 2007 at 12:22:11PM +0200, Tomas Svensson wrote: static bool legitimate_offset_address_p (enum machine_mode mode ATTRIBUTE_UNUSED, rtx addr) { rtx reg, offset; if (GET_CODE (addr) != PLUS) return false; reg = XEXP (addr, 0); offset = XEXP (addr, 1);