powerpc -mcpu=common equivalent ?
Hi, It looks like -mcpu=common (on the powerpc architecture) was removed. My group is struggling to find a way to compile generic binaries for PowerPC. We have been getting an LWSYNC instruction included in the binaries, and some of our processors are getting a trap when this instructions is executed. The platforms we are using are all Freescale, they are p2020, t1042, and 8540. Freescale support informed us that we should use -mcpu=common , which is gone, we tried a number of other -mcpu setting including -mcpu=powerpc, but none of them allow us to have generic binaries for all the platforms. I suppose this is either a bug report that we're getting lwsync when we shouldn't be getting it, or just a question of what the typical tune is to make generic binaries ? Thanks for any help, Daniel
Re: powerpc -mcpu=common equivalent ?
On Thu, Feb 9, 2017 at 1:00 PM, Daniel Walker wrote: > > Hi, > > > It looks like -mcpu=common (on the powerpc architecture) was removed. My > group is struggling to find a way to compile generic binaries for PowerPC. > We have been getting an LWSYNC instruction included in the binaries, and > some of our processors are getting a trap when this instructions is > executed. The platforms we are using are all Freescale, they are p2020, > t1042, and 8540. > > Freescale support informed us that we should use -mcpu=common , which is > gone, we tried a number of other -mcpu setting including -mcpu=powerpc, but > none of them allow us to have generic binaries for all the platforms. > > I suppose this is either a bug report that we're getting lwsync when we > shouldn't be getting it, or just a question of what the typical tune is to > make generic binaries ? I think that you misunderstand what "common" meant. Common was a subset of the original IBM POWER Architecture (not POWER processor) and the PowerPC architecture. An option that targets all Freescale processors is up to Freescale. Thanks, David
Re: powerpc -mcpu=common equivalent ?
On 02/09/2017 10:08 AM, David Edelsohn wrote: On Thu, Feb 9, 2017 at 1:00 PM, Daniel Walker wrote: Hi, It looks like -mcpu=common (on the powerpc architecture) was removed. My group is struggling to find a way to compile generic binaries for PowerPC. We have been getting an LWSYNC instruction included in the binaries, and some of our processors are getting a trap when this instructions is executed. The platforms we are using are all Freescale, they are p2020, t1042, and 8540. Freescale support informed us that we should use -mcpu=common , which is gone, we tried a number of other -mcpu setting including -mcpu=powerpc, but none of them allow us to have generic binaries for all the platforms. I suppose this is either a bug report that we're getting lwsync when we shouldn't be getting it, or just a question of what the typical tune is to make generic binaries ? I think that you misunderstand what "common" meant. Common was a subset of the original IBM POWER Architecture (not POWER processor) and the PowerPC architecture. An option that targets all Freescale processors is up to Freescale. Thanks, David No, I understood that. I'm not actually sure if we don't have a POWER architecture included. However, lwsync didn't exist in POWER, and some of our processors don't tolerate lwsync. Do you know of a way to compile for all powerpc and POWER platforms in one ? Or to compile for powerpc platforms which don't tolerate lwsync for some reason? Daniel
Re: powerpc -mcpu=common equivalent ?
On Thu, Feb 9, 2017 at 1:16 PM, Daniel Walker wrote: > On 02/09/2017 10:08 AM, David Edelsohn wrote: >> >> On Thu, Feb 9, 2017 at 1:00 PM, Daniel Walker wrote: >>> >>> Hi, >>> >>> >>> It looks like -mcpu=common (on the powerpc architecture) was removed. My >>> group is struggling to find a way to compile generic binaries for >>> PowerPC. >>> We have been getting an LWSYNC instruction included in the binaries, and >>> some of our processors are getting a trap when this instructions is >>> executed. The platforms we are using are all Freescale, they are p2020, >>> t1042, and 8540. >>> >>> Freescale support informed us that we should use -mcpu=common , which is >>> gone, we tried a number of other -mcpu setting including -mcpu=powerpc, >>> but >>> none of them allow us to have generic binaries for all the platforms. >>> >>> I suppose this is either a bug report that we're getting lwsync when we >>> shouldn't be getting it, or just a question of what the typical tune is >>> to >>> make generic binaries ? >> >> I think that you misunderstand what "common" meant. Common was a >> subset of the original IBM POWER Architecture (not POWER processor) >> and the PowerPC architecture. >> >> An option that targets all Freescale processors is up to Freescale. >> >> Thanks, David > > > > No, I understood that. I'm not actually sure if we don't have a POWER > architecture included. However, lwsync didn't exist in POWER, and some of > our processors don't tolerate lwsync. Do you know of a way to compile for > all powerpc and POWER platforms in one ? Or to compile for powerpc platforms > which don't tolerate lwsync for some reason? Freescale did not implement the POWER architecture. Again, POWER is a comment about the original IBM POWER architecture (RIOS processors) and used in RISC System/6000 computers, not the recent POWER processors called POWER4, POWER5, POWER6, POWER7, POWER8, POWER9. lwsync is part of the ISA and Freescale did not fully implement the architecture. Freescale or someone needs to implement a patch to target the Freescale non-compliant processors. Thanks, David
Re: powerpc -mcpu=common equivalent ?
On Thu, Feb 09, 2017 at 01:47:33PM -0500, David Edelsohn wrote: > Freescale did not implement the POWER architecture. Again, POWER is a > comment about the original IBM POWER architecture (RIOS processors) > and used in RISC System/6000 computers, not the recent POWER > processors called POWER4, POWER5, POWER6, POWER7, POWER8, POWER9. > > lwsync is part of the ISA and Freescale did not fully implement the > architecture. > > Freescale or someone needs to implement a patch to target the > Freescale non-compliant processors. It seems with -mcpu=8540 and -mcpu=8548 you get sync instead of lwsync: /* E500 cores only support plain "sync", not lwsync. */ #define TARGET_NO_LWSYNC (rs6000_cpu == PROCESSOR_PPC8540 \ || rs6000_cpu == PROCESSOR_PPC8548) The question is if all the CPUs you're using are these 2, or if you use some others that might not be superset of those. Jakub
Re: powerpc -mcpu=common equivalent ?
On 02/09/2017 11:06 AM, Jakub Jelinek wrote: On Thu, Feb 09, 2017 at 01:47:33PM -0500, David Edelsohn wrote: Freescale did not implement the POWER architecture. Again, POWER is a comment about the original IBM POWER architecture (RIOS processors) and used in RISC System/6000 computers, not the recent POWER processors called POWER4, POWER5, POWER6, POWER7, POWER8, POWER9. lwsync is part of the ISA and Freescale did not fully implement the architecture. Freescale or someone needs to implement a patch to target the Freescale non-compliant processors. It seems with -mcpu=8540 and -mcpu=8548 you get sync instead of lwsync: /* E500 cores only support plain "sync", not lwsync. */ #define TARGET_NO_LWSYNC (rs6000_cpu == PROCESSOR_PPC8540 \ || rs6000_cpu == PROCESSOR_PPC8548) The question is if all the CPUs you're using are these 2, or if you use some others that might not be superset of those. Jakub We tried using e500, but on Freescale t1042 there was another instruction, evstdd instruction which caused a fault. Andrii did the testing, he can address it better than I can. Daniel
gcc-python-plugin moving website
The gcc-python-plugin was formerly located here: https://fedorahosted.org/gcc-python-plugin/ However fedorahosted.org is being sunset, as of 2017-02-28: https://communityblog.fedoraproject.org/fedorahosted-sunset-2017-02-28 Given that I already had an unofficial mirror here: https://github.com/davidmalcolm/gcc-python-plugin that was sometimes getting pull requests and so forth, I'm declaring that github repository to now be the official home of the plugin. I've verified that all branches and tags are there, and I've run a script [1] to import the Trac tickets. Although the Trac instance is going away, the mailing list will continue to operate after 2017-02-28. I've got a few gcc 7-related patches to land, so I may do another release soonish. Dave [1] https://pypi.python.org/pypi/tratihubis/
gcc-6-20170209 is now available
Snapshot gcc-6-20170209 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/6-20170209/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 6 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-6-branch revision 245315 You'll find: gcc-6-20170209.tar.bz2 Complete GCC MD5=00913042cb0fd0de1bc209d0bccf0575 SHA1=e84256c4f7f81789703ade55164d8159ebe94bc2 Diffs from 6-20170202 are available in the diffs/ subdirectory. When a particular snapshot is ready for public consumption the LATEST-6 link is updated and a message is sent to the gcc list. Please do not use a snapshot before it has been announced that way.
Re: powerpc -mcpu=common equivalent ?
> On 02/09/2017 11:06 AM, Jakub Jelinek wrote: >> On Thu, Feb 09, 2017 at 01:47:33PM -0500, David Edelsohn wrote: >>> Freescale did not implement the POWER architecture. Again, POWER is a >>> comment about the original IBM POWER architecture (RIOS processors) >>> and used in RISC System/6000 computers, not the recent POWER >>> processors called POWER4, POWER5, POWER6, POWER7, POWER8, POWER9. >>> >>> lwsync is part of the ISA and Freescale did not fully implement the >>> architecture. >>> >>> Freescale or someone needs to implement a patch to target the >>> Freescale non-compliant processors. >> It seems with -mcpu=8540 and -mcpu=8548 you get sync instead of lwsync: >> /* E500 cores only support plain "sync", not lwsync. */ >> #define TARGET_NO_LWSYNC (rs6000_cpu == PROCESSOR_PPC8540 \ >>|| rs6000_cpu == PROCESSOR_PPC8548) >> The question is if all the CPUs you're using are these 2, or if you use some >> others that might not be superset of those. >> >> Jakub > > > We tried using e500, but on Freescale t1042 there was another instruction, > evstdd instruction which caused a fault. Andrii did the testing, he can > address > it better than I can. evstdd is a Freescale SPE[1] instruction. The generation of SPE instructions can be disabled w/ -mno-spe (and maybe also supplemented with -mabi=no-spe). [1] http://www.nxp.com/assets/documents/data/en/reference-manuals/SPEPEM.pdf Arseny
Re: powerpc -mcpu=common equivalent ?
On Thu, Feb 9, 2017 at 10:00 AM, Daniel Walker wrote: > > Hi, > > > It looks like -mcpu=common (on the powerpc architecture) was removed. My > group is struggling to find a way to compile generic binaries for PowerPC. > We have been getting an LWSYNC instruction included in the binaries, and > some of our processors are getting a trap when this instructions is > executed. The platforms we are using are all Freescale, they are p2020, > t1042, and 8540. > > Freescale support informed us that we should use -mcpu=common , which is > gone, we tried a number of other -mcpu setting including -mcpu=powerpc, but > none of them allow us to have generic binaries for all the platforms. > > I suppose this is either a bug report that we're getting lwsync when we > shouldn't be getting it, or just a question of what the typical tune is to > make generic binaries ? Since you have two majorly different classes of PowerPC here, the answer is there is no way. Basically you have an e500 (8540) and an e500mc/e5500 (p2020 t1042). Note the e500 is not full compatible standard PowerPC but rather a book-e PowerPC. book-e PowerPC are funny and not fully compatible to the standard PowerPC spec; an example is lwsync; another example is the floating point unit (e500 has SPE while the e500mc is the standard PowerPC fp unit). Thanks, Andrew > > Thanks for any help, > > Daniel >