0414c14b05
The GCC ChangeLog does not have a complete description to quote here, so: arm.c: * arm_override_options(): Set arm_is_scale according to the the -mcpu=xscale option. Set arm_constant_limit to 2 if arm_is_xscale. * arm_adjust_cost(): If arm_is_xscale, account for stalls that can occur due to shifted operands. * arm_gen_load_multiple(): Account for the cost of ldm vs. ldr if arm_is_xscale. * arm_gen_store_multiple(): Likewise for stm vs. str. arm.h: * CONSTANT_ALIGNMENT(): Use a constant alignment factor of 2 if arm_is_xscale. * MOVE_RATIO: Set to 4 if arm_is_xscale. arm.md: * Add XScale scheduling parameters. * Define a "shift" attribute (used by arm_adjust_cost()) and give it to the appropriate operands on andsi_not_shiftsi_si, *shiftsi3, *shiftsi3_compare0, *shiftsi3_compare0_scratch, *notsi_shiftsi, *notsi_shiftsi_compare0, *not_shiftsi_compare0_scratch, abssi2, *neg_abssi2, extendsidi2, *cmpsi_shiftsi, *cmpsi_shiftsi_swp, *cmpsi_neg_shiftsi, *arith_shiftsi, *arith_shiftsi_compare0, *arith_shiftsi_compare0_scratch, *sub_shiftsi, *sub_shiftsi_compare0, *sub_shiftsi_compare0_scratch, *if_shift_move, *if_move_shift, and *if_shift_shift. |
||
---|---|---|
.. | ||
autoconf | ||
bc | ||
bfd | ||
binutils | ||
cvs | ||
diffutils | ||
gas | ||
gawk | ||
gcc | ||
gdb | ||
gettext | ||
gprof | ||
grep | ||
groff | ||
include | ||
ld | ||
libf2c | ||
libiberty | ||
libio | ||
libstdc++ | ||
opcodes | ||
postfix | ||
readline/doc | ||
sendmail | ||
texinfo | ||
toolchain | ||
config.guess | ||
config.sub | ||
install.sh | ||
README.toolchain |
$NetBSD: README.toolchain,v 1.3 2001/10/15 18:28:28 bjh21 Exp $ HOW TO BUILD A CROSS COMPILER ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [Section to be written.] See also: http://www.netbsd.org/Documentation/cross/ IMPORTED VERSIONS ~~~~~~~~~~~~~~~~~ The following software is in gnusrc/gnu/dist/toolchain, in a unified build structure: gcc-2.95.3 binutils-2.11.2 gdb-5.0 IMPORT STEPS ~~~~~~~~~~~~ 1. All distributions were unpacked and all `.cvsignore' files were removed. 2. All files in gcc's `include' top level directory were removed from binutils's `include' top level directory (these are the libiberty include files). cd gcc-*/include; for f in *; do rm -f ../../binutils-*/include/$f; done 3. The gcc distribution was imported in one shot into gnusrc/gnu/dist/toolchain, including the recursive build structure. 4. The binutils distribution was stripped down to the following directories, with no files at the top level: bfd, binutils, gas, gprof, include, intl, ld, opcodes 5. Binutils was imported into gnusrc/gnu/dist/toolchain, which included only the subdirectories above. 6. The gdb distribution was stripped down to the following directories, with no files at the top level: gdb, mmalloc, readline, sim 7. Gdb was imported into gnusrc/gnu/dist/toolchain, which included only the subdirectories above.