This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AVR indirect_jump addresses limited to 16 bits


On Sat, Mar 19, 2005 at 04:38:28PM -0500, Paul Schlie wrote:

> - understood, however unlikely; observing it will likely take Atmel at
>   least 2-3 years to stabilize production of the 256K devices, and larger
>   device volume potential vs. competitive offerings couldn't likely justify
>   their development (as just an opinion).

I thought the same about 128K devices, and then 256K devices appeared :)

> - Sorry, I'm confused; can you give me an example of legal C expression
>   specifying an indirect jump to an arbitrary location within a function?

Good question - I can't.  On the other hand, the manual says:

`indirect_jump'
An instruction to jump to an address which is operand zero.  *This pattern
name is mandatory on all machines.*

Why would it be mandatory if it was not truly needed?  If the manual is
correct, it seems this pattern is truly needed (not just an optional
optimization like some other patterns).

If it is impossible on the AVR, it could be implemented with invalid
assembler output (so we get an error if "impossible" ever happens).
But I'd like to be sure if this is really the case.  GCC is not only
a C compiler, perhaps indirect_jump is needed for some other language?

Thanks,
Marek


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]