This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFC: untangle arm_address_cost
- From: Richard Earnshaw <rearnsha at arm dot com>
- To: "Zack Weinberg" <zack at codesourcery dot com>
- Cc: Richard dot Earnshaw at arm dot com, gcc-patches at gcc dot gnu dot org
- Date: Thu, 11 Dec 2003 12:15:09 +0000
- Subject: Re: RFC: untangle arm_address_cost
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot com
> Richard Earnshaw <rearnsha@arm.com> writes:
>
> >> This completely untested patch replaces two messy macros in arm.c
> >> with inline functions. It's a fair bit more legible this way.
> >> I'm floating this exclusively for comments - I know people have
> >> plans in this area and I'm not sure how this interacts.
> ...
> > This is definitely a worth-while clean-up. I can't see any reason why it
> > shouldn't go on the trunk as well.
>
> Testing revealed what should have been obvious in the first place,
> namely that you can't just blindly call XEXP (x, 0/1) on something
> that may not have subexpressions... like say a REG... so here's a
> revised patch. I've tested this version against a unified tree
> arm-elf simulator:
>
> === gcc Summary ===
> # of expected passes 23540
> # of unexpected failures 25
> # of unexpected successes 10
> # of expected failures 74
> # of unresolved testcases 5
> # of untested testcases 7
> # of unsupported tests 298
>
The Changes to Thumb are fairly trivial, but you should also run a thumb
testsuite run if you are changing thumb code generation. Use a site.exp
file containing something like
case "$target_triplet" in {
{ "arm*-*-elf*" } {
set target_list { "arm-sim/-mthumb" }
set board_info(arm-sim,gdb,skip_huge_test) 1
set board_info(arm-sim,sim,options) "-m 4194304"
set board_info(arm-sim/-mthumb,sim,options) "-m 4194304"
}
}
R.