[ Date Prev][ Date Next][ Thread Prev][ Thread Next][ Date Index][ Thread Index]
[coldfire-gnu-discuss] Error: value too large for field of 2 bytes with FBcc
- To: "'coldfire-gnu-discuss@xxxxxxxxxxxxxxxx'" <coldfire-gnu-discuss@xxxxxxxxxxxxxxxx>
- Subject: [coldfire-gnu-discuss] Error: value too large for field of 2 bytes with FBcc
- From: Nick Barratt <NBarratt@xxxxxxxxxx>
- Date: Thu, 8 May 2008 10:03:15 -0700
Hello,
I'm building an application that my company has licensed for our coldfire
target using the CodeSourcery gcc package. This application has a massive
switch statement that seems to be exposing a limitation in the assembler.
Specifically, floating-point conditional branches with displacements > 32k
result in an assembler error (value of XXXXX too large for field of 2 bytes
at XXXXX), even though FBcc supports 32-bit displacements using a size field
in the instruction word.
I've tested and found the same behavior on both Sourcery G++ Lite 4.2-125
(from the CodeSourcery website) and CodeSourcery Sourcery G++ 4.1-30 (from
Freescale).
Is there a work-around for this problem? My first thought was re-ordering
the cases in the switch statement to reduce the displacement magnitudes, but
I'm not technically supposed to alter this portion of the vendor source.
Thanks,
Nick Barratt
|