This is the mail archive of the gcc-patches@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: [repost] switch() statements on ARM/Thumb




> Since nobody commented on it last time I posted this I assume it's got
> lost in the flood of email...

Well, I've been away from email for the last month...


> This patch [attached as I fear inline patches won't survive] corrects
> code generation on for switch() statements on ARM/thumb when -fpic is
> given. Other cases should not have changed.

> Works against cvs, applies cleanly to 3.0.2, too.


2001-11-22  Adrian von Bidder   <avbidder@acter.ch>

        * arm.h (CASE_VECTOR_PC_RELATIVE, ASM_OUTPUT_ADDR_DIFF_ELT): define

ASM_OUTPUT_ADDR_DIFF_ELT is already defined in arm/aout.h and arm/aof.h; 
re-defining in arm.h is wrong, since it is incompatible with support for 
AOF object formats.

CASE_VECTOR_PC_RELATIVE isn't required for ARM; GCC always uses an 
ADDR_DIFF format for PIC.

        * arm.md (thumbpic_casesi): new pattern for switch() statements
        (*thumb_subsi3imm_insn, *thumb_mulsi3_power2, *thumb_adr): 
referred by
        thumbpic_casesi

I'll look at this in more detail later, when I've caught up a bit more.


Do you have an assignment on file?

Richard.






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