GNU MPFR 3.1.4 Release Candidate

2016-02-23 Thread Vincent Lefevre
The release of GNU MPFR 3.1.4 ("canard à l'orange", patch level 4) is imminent. Please help to make this release as good as possible by downloading and testing this release candidate: http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4-rc1.tar.xz http://www.mpfr.org/mpfr-3.1.4/mpfr-3.1.4-rc1.tar.bz2 http://

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread Richard Smith
On Tue, Feb 23, 2016 at 8:28 AM, H.J. Lu wrote: > On Tue, Feb 23, 2016 at 8:15 AM, Michael Matz wrote: >> Hi, >> >> On Tue, 23 Feb 2016, H.J. Lu wrote: >> >>> I thought >>> >>> --- >>> An empty type is a type where it and all of its subobjects (recursively) >>> are of class, structure, union, or

gcc-5-20160223 is now available

2016-02-23 Thread gccadmin
Snapshot gcc-5-20160223 is now available on ftp://gcc.gnu.org/pub/gcc/snapshots/5-20160223/ and on various mirrors, see http://gcc.gnu.org/mirrors.html for details. This snapshot has been generated from the GCC 5 SVN branch with the following options: svn://gcc.gnu.org/svn/gcc/branches/gcc-5

Importance of transformations that turn data dependencies into control dependencies?

2016-02-23 Thread Torvald Riegel
I'd like to know, based on the GCC experience, how important we consider optimizations that may turn data dependencies of pointers into control dependencies. I'm thinking about all optimizations or transformations that guess that a pointer might have a specific value, and then create (specialized)

Re: increase alignment of global structs in increase_alignment pass

2016-02-23 Thread Marek Polacek
On Tue, Feb 23, 2016 at 09:49:37PM +0530, Prathamesh Kulkarni wrote: > diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c > index 2b25b45..a6af535 100644 > --- a/gcc/tree-vectorizer.c > +++ b/gcc/tree-vectorizer.c > @@ -794,6 +794,75 @@ make_pass_slp_vectorize (gcc::context *ctxt) >

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread H.J. Lu
On Tue, Feb 23, 2016 at 8:15 AM, Michael Matz wrote: > Hi, > > On Tue, 23 Feb 2016, H.J. Lu wrote: > >> I thought >> >> --- >> An empty type is a type where it and all of its subobjects (recursively) >> are of class, structure, union, or array type. >> --- >> >> excluded >> >> struct empty >> { >>

Re: increase alignment of global structs in increase_alignment pass

2016-02-23 Thread Prathamesh Kulkarni
On 23 February 2016 at 17:31, Richard Biener wrote: > On Tue, 23 Feb 2016, Prathamesh Kulkarni wrote: > >> On 22 February 2016 at 17:36, Richard Biener wrote: >> > On Mon, 22 Feb 2016, Prathamesh Kulkarni wrote: >> > >> >> Hi Richard, >> >> As discussed in private mail, this version of patch atte

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread Michael Matz
Hi, On Tue, 23 Feb 2016, H.J. Lu wrote: > I thought > > --- > An empty type is a type where it and all of its subobjects (recursively) > are of class, structure, union, or array type. > --- > > excluded > > struct empty > { > empty () = default; > }; Why would that be excluded? There are no

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread H.J. Lu
On Tue, Feb 23, 2016 at 7:30 AM, Michael Matz wrote: > Hi, > > On Tue, 23 Feb 2016, H.J. Lu wrote: > >> > --- >> > An empty type is a type where it and all of its subobjects (recursively) >> > are of class, structure, union, or array type. No memory slot nor >> > register should be used to pass o

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread Michael Matz
Hi, On Tue, 23 Feb 2016, H.J. Lu wrote: > > --- > > An empty type is a type where it and all of its subobjects (recursively) > > are of class, structure, union, or array type. No memory slot nor > > register should be used to pass or return an object of empty type that's > > trivially copyable.

Re: RFC: Update Intel386, x86-64 and IA MCU psABIs for passing/returning empty struct

2016-02-23 Thread H.J. Lu
On Mon, Feb 22, 2016 at 4:50 AM, Michael Matz wrote: > Hi, > > On Sat, 20 Feb 2016, Richard Smith wrote: > >> > An empty type is a type where it and all of its subobjects >> > (recursively) are of class, structure, union, or array type. >> > >> > doesn't cover "trivially-copyable". >> >> That's co

Re: increase alignment of global structs in increase_alignment pass

2016-02-23 Thread Richard Biener
On Tue, 23 Feb 2016, Prathamesh Kulkarni wrote: > On 22 February 2016 at 17:36, Richard Biener wrote: > > On Mon, 22 Feb 2016, Prathamesh Kulkarni wrote: > > > >> Hi Richard, > >> As discussed in private mail, this version of patch attempts to > >> increase alignment > >> of global struct decl if

Re: increase alignment of global structs in increase_alignment pass

2016-02-23 Thread Prathamesh Kulkarni
On 22 February 2016 at 17:36, Richard Biener wrote: > On Mon, 22 Feb 2016, Prathamesh Kulkarni wrote: > >> Hi Richard, >> As discussed in private mail, this version of patch attempts to >> increase alignment >> of global struct decl if it contains an an array field(s) and array's >> offset is a mu

Re: Transformation of relational expression

2016-02-23 Thread Richard Biener
On Tue, Feb 23, 2016 at 11:39 AM, Dmytro Sheyko wrote: > Hello, > > I am compiling code like this: > > int test(int x, int eq, int lt, int gt) { > return x < 2000 ? lt : x > 2000 ? gt : eq; > } > > and expect that compiler would generate one CMP instruction for both > comparisons:

Transformation of relational expression

2016-02-23 Thread Dmytro Sheyko
Hello, I am compiling code like this: int test(int x, int eq, int lt, int gt) { return x < 2000 ? lt : x > 2000 ? gt : eq; } and expect that compiler would generate one CMP instruction for both comparisons: cmpl$2000, %edi jl .L37 jne .L38