#1740 closed defect (fixed)
Change PowerPC multi-libs for e200 and e500 cores
Reported by: | Sebastian Huber | Owned by: | Ralf Corsepius |
---|---|---|---|
Priority: | normal | Milestone: | 4.11 |
Component: | tool/gcc | Version: | 4.11 |
Severity: | normal | Keywords: | |
Cc: | joel.sherrill@…, thomas.doerfler@…, chrisj@…, dufault@… | Blocked By: | |
Blocking: |
Description (last modified by Gedare Bloom)
Some e200, the e500, and the e500v2 cores have a SPE and embedded floating point unit. They use the general purpose registers for floating point operations. Three multi-lib variants are useful here:
- Software floating point
- 32-bit hardware floating point (e200 and e500)
- 64-bit hardware floating point (e500v2)
We should not support SPE multi-lib variants, because this may effect the interrupt context save and restore overhead. There is also an open GCC bug related to the SPE: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47751
The patch is based on 'contrib/crossrpms/patches/gcc-core-4.5.2-rtems4.11-20101216.diff'.
One question to a part of it in t-rtems:
@@ -47,6 +47,10 @@ MULTILIB_MATCHES += mcpu?7400=mcpu?7450
# Map 750 to .
MULTILIB_MATCHES += mcpu?750=
+# Map e500, 8548 to 8540
+MULTILIB_MATCHES += mcpu?8540=mcpu?e500
+MULTILIB_MATCHES += mcpu?8540=mcpu?8548
+
# Soft-float only, default implies msoft-float
# NOTE: Must match with MULTILIB_MATCHES_FLOAT and MULTILIB_MATCHES
MULTILIB_SOFTFLOAT_ONLY = \
Why do we need this? For example a -mcpu=e500 yields a 'cc1: error: bad value (e500) for -mcpu= switch'.
Also in rtems.h:
+%{mcpu=8540: %{!Dppc*: %{!Dmpc*: -Dppc8540} } }"
This will not trigger in case of -mcpu=8548.
Attachments (6)
Change History (21)
Changed on 02/16/11 at 08:26:55 by Sebastian Huber
Attachment: | powerpc-multi-lib.patch added |
---|
comment:1 Changed on 02/16/11 at 10:50:02 by dufault
Cc: | dufault added |
---|
Changed on 02/16/11 at 13:57:48 by Sebastian Huber
Attachment: | powerpc-multi-lib_v1.patch added |
---|
Patch against GCC 4.5.2.
comment:2 Changed on 02/16/11 at 13:57:48 by Sebastian Huber
attachments.isobsolete: | 0 → 1 |
---|
comment:3 Changed on 02/21/11 at 16:22:14 by Ralf Corsepius
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:4 Changed on 02/22/11 at 09:11:55 by Sebastian Huber
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Changed on 02/22/11 at 14:48:18 by Sebastian Huber
Attachment: | powerpc-multi-lib_v2.patch added |
---|
Patch against GCC 4.5.2.
comment:5 Changed on 02/22/11 at 14:48:18 by Sebastian Huber
attachments.isobsolete: | 0 → 1 |
---|
comment:6 Changed on 02/25/11 at 12:25:49 by Joel Sherrill
Cc: | Joel Sherrill added |
---|
Changed on 02/28/11 at 07:09:19 by Sebastian Huber
Attachment: | powerpc-multi-lib_v3.patch added |
---|
Patch against GCC 4.5.2.
comment:7 Changed on 02/28/11 at 07:09:19 by Sebastian Huber
attachments.isobsolete: | 0 → 1 |
---|
comment:8 Changed on 03/01/11 at 20:10:55 by Chris Johns
Cc: | Chris Johns added |
---|
Changed on 03/22/11 at 15:07:40 by Sebastian Huber
Attachment: | powerpc.patch added |
---|
Patch against GCC 4.6.0-RC-20110321.
comment:9 Changed on 03/22/11 at 15:07:40 by Sebastian Huber
attachments.isobsolete: | 0 → 1 |
---|
comment:10 Changed on 05/07/11 at 04:11:21 by thomas.doerfler
Cc: | thomas.doerfler added |
---|
comment:11 Changed on 05/19/11 at 05:11:22 by Sebastian Huber
blocked: | → 1799 |
---|
comment:12 Changed on 05/19/11 at 05:17:52 by Sebastian Huber
blocked: | → 1800 |
---|
Changed on 06/18/11 at 13:28:51 by dufault
Attachment: | powerpc_spe.patch added |
---|
Patch against GCC 4.6.0
comment:13 Changed on 07/15/11 at 09:53:59 by Ralf Corsepius
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Replying to comment:32:
Replying to comment:31:
Created attachment 1205 [details]
Patch against GCC 4.6.0
I think all the patches in 1141 are applied except this. Can someone verify
and obsolete the earlier one?
Ralf, would you mind adding the patch posted by Peter Dufault to the current
GCC patch set.
Patch applied - Builds are in progress and will land inside of the repos once the builds have finished (Due to ongoing issues with the build farm machines, this may take a couple of days).
Finally, next time, please include a changelog entry into patch submissions.
comment:14 Changed on 11/22/14 at 12:19:50 by Gedare Bloom
Description: | modified (diff) |
---|---|
Milestone: | → 4.11 |
Version: | unspecified → 4.11 |
comment:15 Changed on 10/10/17 at 05:58:26 by Sebastian Huber
Component: | GCC → tool/gcc |
---|
Patch against GCC 4.5.2.