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
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
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
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
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
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
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
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
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);