Re: Vector pointer modes

2018-05-17 Thread Andrew Stubbs

On 16/05/18 22:01, Richard Sandiford wrote:

Andrew Stubbs  writes:

Hi all,

I'm in the process of trying to update our AMD GCN port from GCC 7 to
GCC 8+, but I've hit a problem ...

It seems there's a new assumption that pointers and addresses will be
scalar, but GCN load instructions require vectors of pointers.
Basically, machine_mode has been replaced with scalar_int_machine mode
in many places, and we were relying on vector modes being allowed.

The changes are all coming from the Richard Sandiford's SVE patches.


FWIW, I think that assumption was always there.  The scalar_int_mode
patches just made it more explicit (as in, more code would fail to
build if it wasn't honoured, rather than just potentially ICEing).


It was fine if done late enough, but now it's just blocked in 
TARGET_ADDR_SPACE_POINTER_MODE et al.


However, having now finished a first rough forward-port (with the 
relevant bits of these hooks commented out and gcc_unreachable), I find 
that vector loads and stores are working perfectly, and there are no 
related ICEs in the testsuite (although, with vector widths less than 64 
still on the to-do list, a lot of the testsuite doesn't do much 
vectorizing).



Is this mostly about the RTL level concept of an address or pointer?
If so, in what situations do you need the address or pointer itself to
be a vector?  SVE and AVX use unspecs for gathers and scatters, and I
don't think in practice we lose anything by doing that.


As far as the ISA is concerned, *all* vector loads and stores are 
scatter/gather.


In our port we model a normal, contiguous vector load/store as a DImode 
base pointer until reload_completed, and then have a splitter expand 
that into a V64DImode with the appropriate set of lane addresses. 
Ideally this would happen earlier, so as to allow CSE to optimize the 
expansion, but we've not got there yet (and, as you say, would probably 
hit trouble).


Andrew


Re: I want to dump something when I compile the program. How should I do ?

2018-05-17 Thread Martin Jambor
Hi,

On Thu, May 17 2018, 冠人 王 via gcc wrote:
> My work is to modify the gcc source code so as to customize the warning 
> message, when the programmer writing the program violating some rules. 
> When the violation occurs, I want to reveal some message such as "guanjen375 
> warning: the rule ### is violated" on the window.
> How should I do ? Should I modify some file in the gcc source code so that I 
> can print my own message?
> Besides, I want to realize how GCC code executed, so I want to insert some 
> code into GCC source code to check waht happens when those code
> be executed. I try to use "printf" but failed, the message I print
> reveals when I make(after configure), but not reveals at compile time

For this purpose, use fprintf to write your debug message to stderr.

Martin
 
> If you do not really understand what do I say, let me show an example:
> $gcc -Wunused test.c
> test.c:5:6: warning: unused variable ‘a’ [-Wunused-variable]  int a;      ^
> becomes
> $gcc -Wunused test.c
> HI,DAVIDtest.c:5:6: warning: unused variable ‘a’ [-Wunused-variable]  int a;  
>     ^


So what's the status of the Git migration?

2018-05-17 Thread Richard Earnshaw (lists)
Another year; another release; and still no sign of progress on the git
migration.

Any ideas on how much longer this is going to take?

R.


Re: So what's the status of the Git migration?

2018-05-17 Thread Joseph Myers
On Thu, 17 May 2018, Richard Earnshaw (lists) wrote:

> Another year; another release; and still no sign of progress on the git
> migration.
> 
> Any ideas on how much longer this is going to take?

See git://thyrsus.com/repositories/gcc-conversion.git for the current 
version of the conversion machinery, including a TODO list (and see also 
http://esr.ibiblio.org/?p=7959 ).

Presumably required work on the GCC side (deciding appropriate policies on 
branch deletion / non-fast-forward pushes, developing hooks / repository 
configuration to implement those policies and send commit mails, writing 
updates to documentation and scripts) could be done in parallel with the 
conversion work, but Jason may already have some of that done anyway.

-- 
Joseph S. Myers
jos...@codesourcery.com


Re: Auto-generated .rodata contents and __attribute__((section))

2018-05-17 Thread Michael Matz
Hi,

On Wed, 16 May 2018, Richard Biener wrote:

> > Are constant pool entries merged at compile time or at link time? I 
> > would presume it should be done at link time because otherwise you're 
> > only merging entries within a single compilation unit (which doesn't 
> > sound that useful in a big project with hundreds of source files), 
> > right?
> 
> constant pool entries are merged at compile time.  There's no such thing
> as mergeable constant pool sections 

Actually there is in ELF.  Mergable sections can not only hold strings, 
but also fixed-size entities (e.g. 4 or 8 byte constants).  Those are 
merged content-wise at link time and references properly rewritten.  Of 
course, those still aren't per-function.


Ciao,
Michael.


Re: So what's the status of the Git migration?

2018-05-17 Thread Eric S. Raymond
Richard Earnshaw (lists) :
> Another year; another release; and still no sign of progress on the git
> migration.
> 
> Any ideas on how much longer this is going to take?
> 
> R.

I'm still working on it.  It's a slow process because the repo is so huge
that full conversions take around 9 hours each,  That means that on
a good day I can test naybe two point changes.  

The current issue - and, I think, the last major one - is that there are
over 150 nid-branch deletes to be resolved.
-- 
http://www.catb.org/~esr/";>Eric S. Raymond

My work is funded by the Internet Civil Engineering Institute: https://icei.org
Please visit their site and donate: the civilization you save might be your own.




Are the extended algorithms in the header file going to be supported by gcc ?

2018-05-17 Thread Marco Ippolito
 Hi,

the good book "C++17 STL Cookbook" in chapter 9 "Parallelism and
Concurrency" describes some of the 69 algorithms that were extended to
accept execution policies in order to run parallel on multiple cores. And,
according to the provided examples, they all greatly simplify some aspects
of parallelization with the standard algorithms.

I'm using Ubuntu 16.04 with upgraded gcc version 7.2.0 (Ubuntu
7.2.0-1ubuntu1~16.04) and the header file  is not present.

In the official gcc documentation: https://gcc.gnu.org/onlinedocs/libstdc++/
manual/status.html the support to  is flagged as "no" in
the Table 1.5. C++ 2017 Implementation Status,
and it seems that it is even not foreseen to be included in the upgraded
gcc 8 version: https://gcc.gnu.org/projects/cxx-status.html

So, the crucial question about these 69 extended algorithms in the header
file  is:
are these extended algorithms going to be supported by the next releases of
gcc, as they are already supported by Visual Studio, and soon by clang ?

Looking forward to your kind feedback about this extremely important aspect
of gcc.
Marco


Re: Are the extended algorithms in the header file going to be supported by gcc ?

2018-05-17 Thread Thomas Rodgers
There is work ongoing to complete C++17 support in libstdc++, this
includes providing support for the C++17 parallel algorithms.

Marco Ippolito writes:

>  Hi,
>
> the good book "C++17 STL Cookbook" in chapter 9 "Parallelism and
> Concurrency" describes some of the 69 algorithms that were extended to
> accept execution policies in order to run parallel on multiple cores. And,
> according to the provided examples, they all greatly simplify some aspects
> of parallelization with the standard algorithms.
>
> I'm using Ubuntu 16.04 with upgraded gcc version 7.2.0 (Ubuntu
> 7.2.0-1ubuntu1~16.04) and the header file  is not present.
>
> In the official gcc documentation: https://gcc.gnu.org/onlinedocs/libstdc++/
> manual/status.html the support to  is flagged as "no" in
> the Table 1.5. C++ 2017 Implementation Status,
> and it seems that it is even not foreseen to be included in the upgraded
> gcc 8 version: https://gcc.gnu.org/projects/cxx-status.html
>
> So, the crucial question about these 69 extended algorithms in the header
> file  is:
> are these extended algorithms going to be supported by the next releases of
> gcc, as they are already supported by Visual Studio, and soon by clang ?
>
> Looking forward to your kind feedback about this extremely important aspect
> of gcc.
> Marco



Business intelligence of Accounting Software

2018-05-17 Thread Pamela Crawford
Hello,

 

Would you be interested in acquiring newly released Accounting Software
Contact Information?

Our entire list comes with complete contact information including direct
phone numbers and emails.

We also have other specialist such as:

 

Ø  QuickBooks Software Users

Ø  Financial Analytical Applications Users

Ø  Ecommerce Users

Ø  ERP Users 

Ø  Configure Price Quote (CPQ) Users

 

Please let me know the below and I shall get back to you with other list
details accordingly.

Target Specialist___?
Target Geography___?

Hope to hear from you soon.

 

Regards,

 

Pamela Crawford - Marketing Analyst

 

This is an attempt to begin a conversation with you. If you would rather not
hear from us, please respond mentioning UNSUBSCRIBE in the subject line.

If you are not the right person please forward this email to the right
person in your organization.

 

 



Re: Auto-generated .rodata contents and __attribute__((section))

2018-05-17 Thread Segher Boessenkool
On Thu, May 17, 2018 at 06:10:13PM +0200, Michael Matz wrote:
> On Wed, 16 May 2018, Richard Biener wrote:
> > > Are constant pool entries merged at compile time or at link time? I 
> > > would presume it should be done at link time because otherwise you're 
> > > only merging entries within a single compilation unit (which doesn't 
> > > sound that useful in a big project with hundreds of source files), 
> > > right?
> > 
> > constant pool entries are merged at compile time.  There's no such thing
> > as mergeable constant pool sections 
> 
> Actually there is in ELF.  Mergable sections can not only hold strings, 
> but also fixed-size entities (e.g. 4 or 8 byte constants).  Those are 
> merged content-wise at link time and references properly rewritten.  Of 
> course, those still aren't per-function.

It also works correctly in combination with -ffunction-sections,
-fdata-sections, -Wl,--gc-sections.  And not with per-function constant
pools like on arm-linux; I'm not sure how that could ever work.


Segher


gcc-7-20180517 is now available

2018-05-17 Thread gccadmin
Snapshot gcc-7-20180517 is now available on
  ftp://gcc.gnu.org/pub/gcc/snapshots/7-20180517/
and on various mirrors, see http://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 7 SVN branch
with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-7-branch 
revision 260339

You'll find:

 gcc-7-20180517.tar.xzComplete GCC

  SHA256=78acc1dbad063ca5b42887b993de25bda208f1ebde20c1475d6c008de14bb067
  SHA1=0455eca25828df63d5649420603694e131f117d1

Diffs from 7-20180510 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-7
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.