powerpc -mcpu=common equivalent ?

2017-02-09 Thread Daniel Walker


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 ?

2017-02-09 Thread David Edelsohn
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 ?

2017-02-09 Thread Daniel Walker

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 ?

2017-02-09 Thread David Edelsohn
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 ?

2017-02-09 Thread Jakub Jelinek
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 ?

2017-02-09 Thread Daniel Walker

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

2017-02-09 Thread David Malcolm
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

2017-02-09 Thread gccadmin
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 ?

2017-02-09 Thread Arseny Solokha
> 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 ?

2017-02-09 Thread Andrew Pinski
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
>