Re: defining add in a new port

2011-02-24 Thread Jean-Marc Saffroy
On 02/09/2011 08:27 AM, Hans-Peter Nilsson wrote: > On Fri, 28 Jan 2011, Jean-Marc Saffroy wrote: >> (define_constraint "I" >> "Signed 6-bit integer constant for binops." >> (and (match_code "const_int") >>(match_test "IN_RANGE (ival, -24, 32)"))) >> >> (define_register_constraint "A" "

Re: defining add in a new port

2011-02-08 Thread Hans-Peter Nilsson
On Fri, 28 Jan 2011, Jean-Marc Saffroy wrote: > (define_constraint "I" > "Signed 6-bit integer constant for binops." > (and (match_code "const_int") >(match_test "IN_RANGE (ival, -24, 32)"))) > > (define_register_constraint "A" "ADDR_REGS" > "The address registers.") > > (define_regis

Re: defining add in a new port

2011-01-31 Thread Ian Lance Taylor
Jean-Marc Saffroy writes: > So it seems I will have to have adddi3 be a define_expand that splits > the increment by N into smaller increments when called with > (reload_in_progress||reload_completed). Does that sound reasonable? Yes. Ian

Re: defining add in a new port

2011-01-31 Thread Jean-Marc Saffroy
On 01/28/2011 09:45 PM, Ian Lance Taylor wrote: > Jean-Marc Saffroy writes: > >> On 01/28/2011 06:44 PM, Ian Lance Taylor wrote: >>> Jean-Marc Saffroy writes: >>> error: insn does not satisfy its constraints: (insn 1424 1423 141 (set (reg:DI 2 r2) (plus:DI (reg:DI 2 r2) >>

Re: defining add in a new port

2011-01-28 Thread Ian Lance Taylor
Jean-Marc Saffroy writes: > On 01/28/2011 06:44 PM, Ian Lance Taylor wrote: >> Jean-Marc Saffroy writes: >> >>> error: insn does not satisfy its constraints: >>> (insn 1424 1423 141 (set (reg:DI 2 r2) >>> (plus:DI (reg:DI 2 r2) >>> (const_int 40 [0x28]))) >>> /home/jmsaffroy

Re: defining add in a new port

2011-01-28 Thread Jean-Marc Saffroy
On 01/28/2011 06:44 PM, Ian Lance Taylor wrote: > Jean-Marc Saffroy writes: > >> error: insn does not satisfy its constraints: >> (insn 1424 1423 141 (set (reg:DI 2 r2) >> (plus:DI (reg:DI 2 r2) >> (const_int 40 [0x28]))) >> /home/jmsaffroy/cygnus/src/newlib/libc/time/strptime

Re: defining add in a new port

2011-01-28 Thread Ian Lance Taylor
Jean-Marc Saffroy writes: > error: insn does not satisfy its constraints: > (insn 1424 1423 141 (set (reg:DI 2 r2) > (plus:DI (reg:DI 2 r2) > (const_int 40 [0x28]))) > /home/jmsaffroy/cygnus/src/newlib/libc/time/strptime.c:165 24 {adddi3} > (expr_list:REG_EQUIV (plus:DI (

defining add in a new port

2011-01-28 Thread Jean-Marc Saffroy
Hi gcc gurus, I'm trying to port GCC to a new architecture, I'm new to gcc, and have little problems defining add correctly. My target has 2 types of (DI mode) registers, so I defined 2 classes: - class D (data) regs can be used for computations, and that includes operations such as additions an