This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Wed, 2005-08-17 at 15:16, Duane Ellis wrote: > > ----- Message from Steven Scholz <steven.scholz@imc-berlin.de> on > > > > I noticed that gcc-3.4.4 for ARM is using byte wise loading instructions > > > Seems that GCC is trying to deal with un-aligned access issues. > > GCC-ARM has a "--malignment-traps" option. I wonder if it some how > turned on by default. (Or something like that, my gcc-info is old > perhaps it has changed) No, it's because very old ARM cores (up to the arm6, and early arm7 devices -- but not the arm7tdmi) had no instructions to load or store 16-bit objects. You had to synthesize them from other instructions. For loads, this could be done by using an unaligned 32-bit load which had 'interesting properties'. However, once 16-bit loads were added, it became possible to configure the CPU to trap those unaligned 32-bit loads and take a kernel fault. That meant a change in code generation strategy. The very latest arm cores (architecture ARMv6) now have support for more conventional unaligned accesses, so support for the old unaligned access model has been removed (in effect, -malignment-traps is unconditionally on now). R. ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |