Bug 47847 - PowerPC: ICE: -mcpu=8540 -meabi -msdata -fno-common -mfloat-gprs=double
Summary: PowerPC: ICE: -mcpu=8540 -meabi -msdata -fno-common -mfloat-gprs=double
Status: RESOLVED INVALID
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.5.2
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-22 09:35 UTC by Sebastian Huber
Modified: 2017-03-28 10:23 UTC (History)
1 user (show)

See Also:
Host:
Target: powerpc-rtems4.11-gcc
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Sample code. (40.14 KB, text/plain)
2011-02-22 09:35 UTC, Sebastian Huber
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian Huber 2011-02-22 09:35:59 UTC
Created attachment 23432 [details]
Sample code.

Using the embedded 64-bit floating-point unit causes an internal compiler error in combination with the small data area:

powerpc-rtems4.11-gcc -c paranoia.i -mcpu=8540 -meabi -msdata -fno-common -mfloat-gprs=double -mabi=spe
/home/sh/rtems-sync/c/src/../../testsuites/samples/paranoia/paranoia.c: In function 'paranoia':
/home/sh/rtems-sync/c/src/../../testsuites/samples/paranoia/paranoia.c:1955:1: internal compiler error: output_operand: invalid %y value, try using the 'Z' constraint
Comment 1 Sebastian Huber 2011-02-22 15:55:29 UTC
Adding the -mspe (in addition to -mabi=spe) option helped. It seems that only few combinations of the -mcpu=8520, -mfloat-gprs=*, -mspe, and -mabi=spe flags are well tested in GCC.  The following combinations worked:

(1) -mcpu=8540 -msoft-float
(2) -mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single
(3) -mcpu=8540 -mspe -mabi=spe -mfloat-gprs=double
Comment 2 Segher Boessenkool 2017-03-28 10:23:24 UTC
So, not a bug.