Re: VEC_WIDEN_MULT_(LO|HI)_EXPR vs. VEC_WIDEN_MULT_(EVEN|ODD)_EXPR in vectorization.

2014-01-28 Thread Richard Biener
On Wed, Jan 22, 2014 at 1:20 PM, Bingfeng Mei wrote: > Hi, > I noticed there is a regression of 4.8 against ancient 4.5 in vectorization > on our port. After a bit investigation, I found following code that prefer > even|odd version instead of lo|hi one. This is obviously the case for AltiVec >

RE: VEC_WIDEN_MULT_(LO|HI)_EXPR vs. VEC_WIDEN_MULT_(EVEN|ODD)_EXPR in vectorization.

2014-01-28 Thread Bingfeng Mei
Thanks, Richard. It is not very clear from documents. "Signed/Unsigned widening multiplication. The two inputs (operands 1 and 2) are vectors with N signed/unsigned elements of size S. Multiply the high/low or even/odd elements of the two vectors, and put the N/2 products of size 2*S in the outpu

Re: Suspected bugs in ptr_difference_const & split_address_to_core_and_offset

2014-01-28 Thread Richard Biener
On Fri, Jan 24, 2014 at 6:47 PM, Bingfeng Mei wrote: > Hi, > I experienced an issue in our port, which I suspected due to bugs > in ptr_difference_const & split_address_to_core_and_offset. Basically, > ptr_difference_const, called by ivopts pass, tries to evaluate > whether e1 & e2 differ by a con

Re: VEC_WIDEN_MULT_(LO|HI)_EXPR vs. VEC_WIDEN_MULT_(EVEN|ODD)_EXPR in vectorization.

2014-01-28 Thread Richard Biener
On Tue, Jan 28, 2014 at 12:08 PM, Bingfeng Mei wrote: > Thanks, Richard. It is not very clear from documents. > > "Signed/Unsigned widening multiplication. The two inputs (operands 1 and 2) > are vectors with N signed/unsigned elements of size S. Multiply the high/low > or even/odd elements of the

RE: VEC_WIDEN_MULT_(LO|HI)_EXPR vs. VEC_WIDEN_MULT_(EVEN|ODD)_EXPR in vectorization.

2014-01-28 Thread Bingfeng Mei
I checked vectorization code, it seems that only relevant place vec_widen_mult_even/odd & vec_widen_mult_lo/hi are generated is in supportable_widening_operation. One of these pairs is selected, with priority given to vec_widen_mult_even/odd if it is a reduction loop. However, lo/hi pair seems

Re: Generating minimum libstdc++ symbols for a new platform

2014-01-28 Thread David Edelsohn
On Sun, Jan 26, 2014 at 11:12 AM, Richard Sandiford wrote: > [adding libstdc++@] > > Bill Schmidt writes: >> It was recently pointed out to me that our new powerpc64le-linux-gnu >> target does not yet have a corresponding directory in libstdc >> ++-v3/config/abi/post/ to hold a baseline_symbols.t

Re: [gomp4] Questions about "declare target" and "target update" pragmas

2014-01-28 Thread Ilya Verbin
2014/1/22 Jakub Jelinek : > This can print 3 (if doing host fallback or device shares address space > with host), or 2 (otherwise). It shouldn't print 1 ever, and yes, > the target update is then well defined. All variables from omp declare > target are allocated on the device sometime before > t

Re: [Testsuite] getpid in gcc.c-torture/execute/pr58419.c

2014-01-28 Thread Janis Johnson
On 01/27/2014 10:51 PM, Senthil Kumar Selvaraj wrote: > This is on trunk - I was under the impression that it is always trunk, > unless otherwise stated? > > getpid doesn't really make sense for bare metal targets, I would think? > > Regards > Senthil > > On Mon, Jan 27, 2014 at 01:04:48PM +

Re: [Testsuite] getpid in gcc.c-torture/execute/pr58419.c

2014-01-28 Thread Jeff Law
On 01/28/14 11:14, Janis Johnson wrote: The testcase in the PR had a call to printf. The modified test doesn't call printf, and doesn't declare getpid. I assume that getpid is called simply to have an external call, but there must be something that could be used instead that is available for an

Re: proposal to make SIZE_TYPE more flexible

2014-01-28 Thread DJ Delorie
Ping? Or do I need to repost on the patches list? http://gcc.gnu.org/ml/gcc/2014-01/msg00130.html

Re: [gomp4] Questions about "declare target" and "target update" pragmas

2014-01-28 Thread Jakub Jelinek
On Tue, Jan 28, 2014 at 09:54:09PM +0400, Ilya Verbin wrote: > Yes, when G is global variable marked with 'declare target', everything works > fine. But this testcase crashes at runtime in GOMP_target_update: > > int main () > { > int G = 2; > #pragma omp target update to(G) > G = 3; > in

Re: proposal to make SIZE_TYPE more flexible

2014-01-28 Thread Joseph S. Myers
On Tue, 28 Jan 2014, DJ Delorie wrote: > Ping? Or do I need to repost on the patches list? Repost on the patches list (with self-contained write-up, rationale for choices made, etc.) at the start of stage 1 for 4.10/5.0, I suggest (this clearly isn't stage 3 material). -- Joseph S. Myers jos

Re: proposal to make SIZE_TYPE more flexible

2014-01-28 Thread DJ Delorie
> Repost on the patches list (with self-contained write-up, rationale for > choices made, etc.) at the start of stage 1 for 4.10/5.0, Ok. > I suggest (this clearly isn't stage 3 material). Yup. Would be nice to back port it to 4.9 later, but... understood.

Re: Hurd: /lib/ld.so vs. /lib/ld.so.1 (was: Policy: Require new dynamic loader names for entirely new ABIs?)

2014-01-28 Thread Roland McGrath
> For x86 Hurd, GCC has been specifying »-dynamic-linker /lib/ld.so« in > LINK_SPEC since forever (1995, or earlier), and Debian glibc has had the > following since forever (2002, or earlier): > > ifeq ($(DEB_HOST_GNU_SYSTEM),gnu) > # Why doesn't the glibc makefile install this? >

gimple_build_call for a class constructor

2014-01-28 Thread Stephan Friedl
I am building a GCC plugin and am trying to create a call to a constructor for a global variable.  The class is declared in a .cpp file and I have global instance of the class declared in the file as well. The class declaration for the global instance I am trying to create follows: