Re: Combine or peephole?

2010-04-21 Thread Frank Isamov
On Mon, Apr 19, 2010 at 5:54 PM, Jeff Law l...@redhat.com wrote: combine requires a data dependency, so for this situation, combine isn't going to help.  The easy solution is to create a peephole.    You can also create a machine dependent reorg pass to detect more of these opportunities.

Re: Combine or peephole?

2010-04-21 Thread Frank Isamov
Hi Ian, On Wed, Apr 21, 2010 at 5:42 PM, Ian Lance Taylor i...@google.com wrote: Frank Isamov frank.isa...@gmail.com writes:  2. A peephole for such case just repeats instruction definition  pattern. As all information already available for such peephole,  wouldn’t it be useful to implement

Combine or peephole?

2010-04-19 Thread Frank Isamov
Hi, My architecture supports instructions with two parallel side effects. For example, addition and subtraction can be done in parallel: (define_insn assi6 [(parallel [ (set (match_operand:SI 0 register_operand =r) (minus:SI (match_operand:SI 1 register_operand r)

Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Frank Isamov
Hi, In my backend, I have a problem with the pass which determines the best register class for a virtual register (Pass 0 for finding allocno costs). In all insns in this example both R_REGS and D_REGS register classes are applicable (but all registers in an insn should be from the same register

Re: Coloring problem - Pass 0 for finding allocno costs

2010-03-18 Thread Frank Isamov
-- Forwarded message -- From: Frank Isamov frank.isa...@gmail.com Date: Thu, Mar 18, 2010 at 4:28 PM Subject: Re: Coloring problem - Pass 0 for finding allocno costs To: Ian Bolton bol...@icerasemi.com On Thu, Mar 18, 2010 at 3:51 PM, Ian Bolton bol...@icerasemi.com wrote

Advancing SP on a call

2010-03-10 Thread Frank Isamov
We have a problem with arguments passing in memory. The caller puts the arguments in memory relative to the sp: add sp, 4 // allocate space for the argument. stack grows up store r1, (sp-4) // store the argument on the stack call xxx// call the function. In xxx the result

Re: How to make 'long int' type be a PDImode?

2010-03-08 Thread Frank Isamov
On Mon, Mar 8, 2010 at 8:29 AM, Joern Rennecke joern.renne...@embecosm.com wrote: Quoting Frank Isamov frank.isa...@gmail.com: Hi, I'd like to make a backend which would have 48 bits for 'long' type. (32 for int and 64 for long long). I have tried to define: #define LONG_TYPE_SIZE  48

Re: How to make 'long int' type be a PDImode?

2010-03-08 Thread Frank Isamov
On Mon, Mar 8, 2010 at 4:27 PM, Frank Isamov frank.isa...@gmail.com wrote: On Mon, Mar 8, 2010 at 8:29 AM, Joern Rennecke joern.renne...@embecosm.com wrote: Quoting Frank Isamov frank.isa...@gmail.com: Hi, I'd like to make a backend which would have 48 bits for 'long' type. (32 for int

How to make 'long int' type be a PDImode?

2010-03-07 Thread Frank Isamov
Hi, I'd like to make a backend which would have 48 bits for 'long' type. (32 for int and 64 for long long). I have tried to define: #define LONG_TYPE_SIZE  48 and one of: INT_MODE (PDI, 6); PARTIAL_INT_MODE (DI); Unfortunately, trying to compile a program, I see that the backend still uses