3 msgQuestion: How can I upload my work?

Implementing a restrictive addressing mode for ...
\ Mohamed Shafi (29 Mar 2008)
. \ Jim Wilson (31 Mar 2008)
. . \ Mohamed Shafi (1 Apr 2008)
. . . \ Jim Wilson (1 Apr 2008)
. . \ Mohamed Shafi (16 May 2008)

18 msgGSOC Student application
1 msgE-gold owner Douglas Jackson has been killed
6 msggcc for Linux/x86 vs. Solaris/x86
1 msggcc-4.4-20080328 is now available
1 msgRe: [Ada] no run-time compilation (was: Clean u...
3 msgCombined gcc + binutils source tree doesn't boo...
3 msgSubject gcc testsuite testcase gcc.c-torture/co...
8 msg[tuples] Tuples branch frozen
1 msgSuccessful native mingw build gcc 4.3.0
8 msgplease add DFP to gcc-4.3/changes.html
2 msggimple
1 msggcc-4.3-20080327 is now available
1 msggcc participation in C standards process
4 msgRFH: testers for ieee test
1 msggcc-4.2-20080326 is now available
6 msgSSA Vs unSSA
2 msgThe Latest
2 msgparallel bootstrap failure: options.h
Subject:Re: Implementing a restrictive addressing mode for a gcc port
Group:Gcc
From:Jim Wilson
Date:31 Mar 2008


Mohamed Shafi wrote:
> For the source or the destination register Rd/Ra, the restriction is
> that it should be one more than the base register . So the following
> instructions are valid:

GCC doesn't provide any easy way for the source address to depend on the
destination address, or vice versa.

One thing you could try is generating a double-word pseudo-reg at RTL
expand time, and then using subreg 0 for the source and subreg 1 for the
dest (or vice versa depending on endianness/word order). This will get
you a register pair you can use from the register allocator. This
doesn't help at reload time though.

You probably have to define a constraint for every register, and then
write an alternative for every register pair matching the correct even
register with the correct odd register. That gets you past reload.

Another alternative might be to have a pattern (e.g. reload_insi) that
generates secondary reloads that request the register pair you need.
This is unlikely to get good code, but would not be hard to do.

Jim


© 2004-2008 readlist.com