Re: [Testsuite] Fix Cilk's exp to add -B for libcilkrts (was: Re: [Build, Driver] Add -lcilkrts for -fcilkplus)

2014-03-27 Thread Rainer Orth
Tobias Burnus writes: > Rainer Orth wrote: >> Tobias Burnus writes: >>> H.J. Lu wrote: xgcc: error: libcilkrts.spec: No such file or directory >>> Hmm, I really wonder why it fails for you while it works for me: >> Do you happen to have the same/a recent version installed at the same >> pre

Re: Fix PR ipa/60315 (inliner explosion)

2014-03-27 Thread Jan Hubicka
node_54, _60, node_57); [static-chain: > &FRAME.437] > +===GNAT BUG DETECTED==+ > | 4.9.0 20140327 (experimental) [trunk revision 208879] (x86_64-suse-linux) > GCC error:| > | verify_gimple failed

Go patch committed: Avoid reading bogus field

2014-03-27 Thread Ian Lance Taylor
PR 59545 points out that there is a case where the Go frontend reads an invalid value from a class field. This happens because of an incorrect static_cast. This patch fixes the problem to only use the static_cast when it is valid. Bootstrapped and ran Go tests on x86_64-unknown-linux-gnu. Commi

various _mm512_set* intrinsics

2014-03-27 Thread Ulrich Drepper
Here are more intrinsics that are missing. I know that gcc currently generates horrible code for most of them but I think it's more important to have the API in place, albeit non-optimal. Maybe this entices some one to add the necessary optimizations. The code is self-contained and shouldn't int

Re: Fix PR ipa/60315 (inliner explosion)

2014-03-27 Thread Eric Botcazou
437] +===GNAT BUG DETECTED==+ | 4.9.0 20140327 (experimental) [trunk revision 208879] (x86_64-suse-linux) GCC error:| | verify_gimple failed | | Error detected around /home/eric/install/gcc/lib64/gcc/x86_64-suse- li

[Fortran-CAF, patch, committed] Implement the library call for caf_send

2014-03-27 Thread Tobias Burnus
This patch implements the call to the library for code of the form: caf[j] = (rhs - expr) Caveats: It currently only handles scalars and for characters only len-one ones. While it copies also derived types, it does not handle allocatable components. With a suitable communication library, t

Re: [PATCH] RL78 - minor size optimization

2014-03-27 Thread DJ Delorie
This is OK after 4.9 branches (i.e. stage1). I suspect we could add AX to the first alternative, although I don't know if it will get used. We could add HL to the second alternative to complete the replacement of the 'r' constraint.

Re: [PATCH], PR 60672, Add xxsldwi/xxpermdi builtins to altivec.h

2014-03-27 Thread Michael Meissner
Whoops, I forgot to document the new builtin. I just committed this change to the documentation file. Sorry about that. I also deleted the comment on the nop instruction, just in case there is a VSX assembler some day that uses a different comment convention. 2014-03-27 Michael Meissner

[PATCH] RL78 - minor size optimization

2014-03-27 Thread Richard Hulme
Hi, This patch is a small optimization for the RL78 target that uses the 'clrb' instruction where possible when performing a zero-extend instead of 'mov'ing a literal #0. This saves a byte on each operation. Regards, Richard 2014-03-27 Richard Hulme * config/rl78/rl78-real.md (

Re: [PATCH, rs6000] Avoid clobbering stack pointer via P8 fusion peephole

2014-03-27 Thread David Edelsohn
On Thu, Mar 27, 2014 at 2:49 PM, Ulrich Weigand wrote: > Hello, > > when trying to build Ada for powerpc64le-linux, I ran into an ICE > in fixup_args_size_notes. > > It turns out that the p8 fusion peephole acts on these two insns > from the epilog sequence: > > (insn 1693 1078 1079 91 (set (reg:D

Re: [C++ patch] for C++/52369

2014-03-27 Thread Fabien Chêne
Hi, As a followup, the following patch homogeneise some diagnostics that relate to uninitialized const or reference members. Tested x86_64 linux in progress, OK to commit for next stage 1 if that succeeds ? (or trunk otherwise, I dare to mention it). 2014-03-28 Fabien Chêne * cp/init.c (p

Re: [PATCH] Fix PR c++/60573

2014-03-27 Thread Adam Butcher
On 2014-03-27 20:45, Adam Butcher wrote: PR c++/60573 * name-lookup.h (cp_binding_level): New field scope_defines_class_p. * semantics.c (begin_class_definition): Set scope_defines_class_p. * pt.c (instantiate_class_template_1): Likewise. * parser.c (synthesize_implicit_t

Re: [PATCH] Fix PR c++/60573

2014-03-27 Thread Adam Butcher
On 2014-03-27 20:45, Adam Butcher wrote: @@ -8905,9 +8905,12 @@ instantiate_class_template_1 (tree type) return type; /* Now we're really doing the instantiation. Mark the type as in - the process of being defined. */ + the process of being defined... */ TYPE_BEING_DEFINED

Re: [Patch, Fortran] PR58880 - Fix ICE with finalizers

2014-03-27 Thread Janus Weil
Hi Tobias, > this patch fixes a problem with the conversion of scalars to descriptors. > There one assigns the address of the scalar to the base_address field of the > descriptor. The ICE occurred when the RHS (the scalar) wasn't a pointer. looks good to me. Ok for trunk! > It does not fully so

[PATCH] Fix PR c++/60573

2014-03-27 Thread Adam Butcher
PR c++/60573 * name-lookup.h (cp_binding_level): New field scope_defines_class_p. * semantics.c (begin_class_definition): Set scope_defines_class_p. * pt.c (instantiate_class_template_1): Likewise. * parser.c (synthesize_implicit_template_parm): Use cp_bindin

Re: [Patch, Fortran] PR58880 - Fix ICE with finalizers

2014-03-27 Thread Tobias Burnus
* PING* Tobias Burnus wrote: Hi all, this patch fixes a problem with the conversion of scalars to descriptors. There one assigns the address of the scalar to the base_address field of the descriptor. The ICE occurred when the RHS (the scalar) wasn't a pointer. It does not fully solve the P

Re: [Patch, Fortran] PR60576 Fix out-of-bounds problem

2014-03-27 Thread Tobias Burnus
An early * PING* for this wrong-code issue. Tobias Burnus wrote: This patch fixes part of the problems of the PR. The problem is that one assigns an array descriptor to an assumed-rank array descriptor. The latter has for BT_CLASS the size of max_dim (reason: we have first the "data" array and

Re: Fix PR ipa/60315 (inliner explosion)

2014-03-27 Thread Jan Hubicka
> > Bootstrapped/regtested x86_64-linux, comitted. > > Not with Ada apparently, resulting in > > === acats tests === > FAIL: c34007d > FAIL: c34007g > FAIL: c34007s > FAIL: c37213j > FAIL: c37213k > FAIL: c37213l > FAIL: ce2201g > FAIL: cxa5a03 > FAIL: cxa5a04 >

patch to fix PR 60650

2014-03-27 Thread Vladimir Makarov
The following patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60650 The reason was in general regs pool fragmentation which resulted in failure to assign double regs to 3 conflicting reload pseudos. The fragmentation started in IRA and the chain unfortunate events further in LRA resu

[PATCH, rs6000] Avoid clobbering stack pointer via P8 fusion peephole

2014-03-27 Thread Ulrich Weigand
Hello, when trying to build Ada for powerpc64le-linux, I ran into an ICE in fixup_args_size_notes. It turns out that the p8 fusion peephole acts on these two insns from the epilog sequence: (insn 1693 1078 1079 91 (set (reg:DI 7 7) (plus:DI (reg/f:DI 31 31) (const_int 65536 [

Re: [gomp4] Add tables generation

2014-03-27 Thread Ilya Verbin
On 27 Mar 17:16, Jakub Jelinek wrote: > Which is why the table created for host by the ompexp pass should be > streamed into the target_lto sections (marked specially somehow, special > attribute or whatever), and then corresponding target table created from > that, rather then created from some po

[patch] libstdc++ doc improvements

2014-03-27 Thread Jonathan Wakely
The three attachments have been committed as well as another commit to regenerate the HTML pages. * doc/xml/manual/io.xml (std.io.objects): Additional markup. * doc/xml/faq.xml (faq): Refer to clauses instead of chapters. * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):

Re: [PATCH], PR 60672, Add xxsldwi/xxpermdi builtins to altivec.h

2014-03-27 Thread Michael Meissner
On Thu, Mar 27, 2014 at 02:06:23PM -0400, David Edelsohn wrote: > Thanks for fixing the missing functions and documentation. > > Just to clarify the explanation, the builtin name remains > __builtin_vsx_, but the altivec.h macro definition \ is > vec_. > > Okay. Yes. I can change if desired, bu

Re: [GOOGLE] Refactor the LIPO fixup

2014-03-27 Thread Xinliang David Li
ok. On Thu, Mar 27, 2014 at 9:02 AM, Dehao Chen wrote: > On Wed, Mar 26, 2014 at 4:05 PM, Xinliang David Li wrote: >> is cgraph_init_gid_map called after linking? > > Oh, forgot that part. It's interesting that the test can pass without > another cgraph_init_gid_map call. > > Patch updated. Rete

Re: std::rethrow_exception is broken

2014-03-27 Thread Jonathan Wakely
On 25/03/14 17:25 +, Jonathan Wakely wrote: Tested x86_64-linux, I plan to commit this to trunk soon. commit 06a845f80204947afd6866109db58cc85dc87117 Author: Jonathan Wakely Date: Tue Mar 25 14:42:45 2014 + PR libstdc++/60612 * libsupc++/eh_ptr.cc: Assert __cxa_dep

Re: [PATCH], PR 60672, Add xxsldwi/xxpermdi builtins to altivec.h

2014-03-27 Thread David Edelsohn
On Thu, Mar 27, 2014 at 1:43 PM, Michael Meissner wrote: > One of the users within IBM noticed that we did not provide builtins for the > XXSLDWI (vector shift left) and XXPERMDI (permute 64-bit values to make > 128-bit > vector) instructions. It turns out, we had provided these builtins, but we

[AArch64 costs 0/18] Improve address- and rtx-cost models

2014-03-27 Thread James Greenhalgh
Hi, This patch series improves the costing model in the AArch64 backend to match a number of new idioms. This patch is a combination of a series I had been working on, with the cost-model for XGene-1 proposed by Philipp Tomsich. ( http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01084.html ) Where s

[AArch64 costs 15/18] Cost more Floating point RTX.

2014-03-27 Thread James Greenhalgh
Hi, This one adds FMA, FLOAT_EXTEND, FLOAT_TRUNCATE, ABS. and SMAX/SMIN. Tested in series on aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost FMA, FLOAT_EXTEND

[PATCH], PR 60672, Add xxsldwi/xxpermdi builtins to altivec.h

2014-03-27 Thread Michael Meissner
One of the users within IBM noticed that we did not provide builtins for the XXSLDWI (vector shift left) and XXPERMDI (permute 64-bit values to make 128-bit vector) instructions. It turns out, we had provided these builtins, but we had not documented them, nor did we add them to altivec.h with a u

[AArch64 costs 18/18] Dump a message if we are unable to cost an insn.

2014-03-27 Thread James Greenhalgh
Hi, If we are unable to fully cost an RTX, we should return the default cost and avoid recursing to the operands. This will bias us towards picking "bigger" RTX - which presumably have been added as patterns because somebody expects them to be more efficient. To aid future debugging and developm

[AArch64 costs 16/18] Cost TRUNCATE

2014-03-27 Thread James Greenhalgh
Hi, And now - TRUNCATE. Tested in series on aarch64-none-elf OK For stage 1? Thanks, James --- 2014-03-27 Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost TRUNCATE. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 3caff3a..7a6255b

[AArch64 costs 10/18] Improve costs for sign/zero extend operations

2014-03-27 Thread James Greenhalgh
Hi, Next up: SIGN_EXTEND, ZERO_EXTEND. Tested in series on aarch64-none-elf with no regressions. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost ZERO_EXTEND and SIGN_EXTEND bett

[AArch64 costs 11/18] Improve costs for rotate and shift operations.

2014-03-27 Thread James Greenhalgh
Hi, Now the rotates and shifts. Tested in series on aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for rotates and shifts. diff --git a/gcc/config/aa

[AArch64 costs 8/18] Cost memory accesses using address costs

2014-03-27 Thread James Greenhalgh
Hi, When we cost an RTX which touches memory, we really want to cost two things. The cost of the memory operation, plus some additional cost if we are using an expensive addressing mode. This patch adds that modelling. Tested in series on aarch64-none-elf. OK for stage 1? Thanks, James --- 2

[AArch64 costs 5/18] Factor out common MULT cases

2014-03-27 Thread James Greenhalgh
Hi, MULT, fused/chained multiply with add, and similar operations with MINUS and NEG should all be handled in a consistent way. To do that, we can pull out a common "mult" core from the partial implementations found around aarch64_rtx_costs. This patch performs that refactoring. One additional

[AArch64 costs 6/18] Set default costs and handle vector modes.

2014-03-27 Thread James Greenhalgh
Hi, The GCC rtx_costs function will try to be helpful by setting the cost of a multiply to something very high. As this is unlikely to be appropriate we want to overwrite these costs as soon as possible. We start with the assumption that everything will be as expensive as the cheapest instructi

[AArch64 costs 9/18] Better cost logical operations

2014-03-27 Thread James Greenhalgh
Hi, Next up are costs for the logical operations (AND, OR, etc.). Tested in series for aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve cost for logical ope

[AArch64 costs 7/18] Improve SET cost.

2014-03-27 Thread James Greenhalgh
Hi, This patch adds functionality for costing a SET RTX. Often these are "free" in the sense that we factor the cost of the set in to the cost of the RHS of the insn. Notable exceptions are sets to MEM which should be costed as a store, and simple register moves, which should be costed. Tested

[AArch64 costs 17/18] Cost for SYMBOL_REF, HIGH and LO_SUM

2014-03-27 Thread James Greenhalgh
Hi, Next, costs for SYMBOL_REF, HIGH and LO_SUM. Tested in series on aarch64-none-elf. OK for Stage-1? Thanks, James --- 2014-03-27 James Greenhalgh * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost SYMBOL_REF, HIGH, LO_SUM. diff --git a/gcc/config/aarch64/aarch64.c b/g

[AArch64 costs 13/18] Improve costs for div/mod

2014-03-27 Thread James Greenhalgh
Hi, Now DIV/MOD. Tested in series on aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for DIV/MOD. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/con

[AArch64 costs 12/18] Improve costs for sign/zero extracts

2014-03-27 Thread James Greenhalgh
Hi, Next SIGN_EXTRACT/ZERO_EXTRACT. Tested in series on aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Improve costs for SIGN/ZERO_EXTRACT. diff --git a/gcc/confi

[AArch64 costs 4/18] Better estimate cost of building a constant

2014-03-27 Thread James Greenhalgh
Hi, One thing we might want to be more accurate in costing is building an integer from scratch. To estimate this, we can repurpose aarch64_build_constant. If we take an additional flag to decide whether we should actually emit instructions, we can simply count the number of instructions we would

[AArch64 costs 14/18] Cost comparisons, flag setting operators and IF_THEN_ELSE

2014-03-27 Thread James Greenhalgh
Hi, Next, comparisons, flag setting operations and IF_THEN_ELSE. Tested on aarch64-none-elf. Ok for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh Philipp Tomsich * config/aarch64/aarch64.c (aarch64_rtx_costs): Cost comparison operators. diff --git a/g

[AArch64 costs 1/18] Refactor aarch64_address_costs.

2014-03-27 Thread James Greenhalgh
Hi, The address cost function, as it stands, is fairly limited. Rather than write a lot of new walking code, we would instead like to reuse some of the existing infrastructure which can categorize an address. This patch therefore rewires aarch64_address_costs to use aarch64_classify_address, wh

[AArch64 costs 2/18] Add cost tables for Cortex-A57

2014-03-27 Thread James Greenhalgh
Hi, This patch wires up the address and vector cost tables for the Cortex-A57 processor. Tested on aarch64-none-elf. OK for stage 1? Thanks, James --- 2014-03-27 James Greenhalgh * config/aarch64/aarch64.c (cortexa57_addrcost_table): New. (cortexa57_vector_cost): Likewise.

[AArch64 costs 3/18] Wrap aarch64_rtx_costs to dump verbose output

2014-03-27 Thread James Greenhalgh
Hi, The rtx_costs implementation in the ARM backend dumps the partial or total computed cost of an insn as it goes along. This functionality proves useful when debugging aarch64_rtx_costs, so we should port it across. Tested on aarch64-none-elf in series with no issues. OK for stage 1? Thanks,

[AArch64/ARM 3/3] Add execution tests of ARM UZP Intrinsics

2014-03-27 Thread Alan Lawrence
inal patch in series, adds new tests of the ARM UZP Intrinsics (subsuming the autogenerated ones in testsuite/gcc.target/arm/neon/), that also check the execution results, reusing the test bodies introduced into AArch64 in the first patch. Tests use gcc.target/arm/simd/simd.exp from correspond

[AArch64/ARM 2/3] Rewrite AArch64 UZP Intrinsics using __builtin_shuffle

2014-03-27 Thread Alan Lawrence
This patch replaces the temporary inline assembler for vuzp_* in arm_neon.h with equivalent calls to __builtin_shuffle. These are matched by aarch64_expand_vec_perm_const{,_1} to output (generally) the same assembler instructions. That is, except for two-element vectors, where ZIP, UZP and TRN

[AArch64/ARM 1/3] Add execution + assembler tests of AArch64 UZP Intrinsics

2014-03-27 Thread Alan Lawrence
This adds DejaGNU tests of the existing AArch64 vuzp_* intrinsics, both checking the assembler output and the runtime results. Test bodies are in separate files ready to reuse for ARM in the third patch. Putting these in a new subdirectory with the ZIP Intrinsic tests, using simd.exp added the

[AArch64/ARM 0/3] Patch series for UZP intrinsics

2014-03-27 Thread Alan Lawrence
Hi, Much like the zip intrinsics, the vuzp_* intrinsics are implemented with inline ASM, which prevents compiler analysis. This series replaces those with calls to _builtin_shuffle, which produce the same** assembler instructions. (**except for two-element vectors where UZP and ZIP are equivalen

Re: [PATCH] Fix PR c++/60573

2014-03-27 Thread Jason Merrill
On 03/26/2014 09:12 PM, Adam Butcher wrote: +Note: cp_binding_level::class_shadowed is used as a predicate to +indicate whether a class scope is a class-defining scope. We stop +at the first such scope as this will be the currently open class +defi

Re: [PATCH v2] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-03-27 Thread Jonathan Wakely
On 27/03/14 17:00 +0100, Rüdiger Sonderfeld wrote: Hello Jonathan, thanks for your comments. N.B. patches to the ChangeLog rarely apply cleanly (because someone else may have changed the ChangeLog since the patch was created) so the convention is to send the ChangeLog entry in the email body,

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-27 Thread Jason Merrill
On 03/27/2014 01:42 AM, Jan Hubicka wrote: I belive the problem here is the _vptr.MultiTermDocs vtable is initialized from VTT that is not understood by ipa-prop jump functions. Makes sense. It would be good to update those functions to understand that the initialization is always setting the

Re: [RFA][PATCH][pr target/60648] Fix non-canonical RTL from x86 backend -- P1 regression

2014-03-27 Thread Jakub Jelinek
On Thu, Mar 27, 2014 at 10:17:26AM -0600, Jeff Law wrote: > >Did you mean Jeff's original change, or say: > >--- gcc/config/i386/i386.c 2014-03-20 17:41:45.917689676 +0100 > >+++ gcc/config/i386/i386.c 2014-03-27 14:47:21.876254288 +0100 > >@@ -13925,13 +13925,13 @@ ix86_legitimize_address (rtx

Re: [RFA][PATCH][pr target/60648] Fix non-canonical RTL from x86 backend -- P1 regression

2014-03-27 Thread Jeff Law
On 03/27/14 07:51, Jakub Jelinek wrote: On Wed, Mar 26, 2014 at 09:53:47PM +, Richard Sandiford wrote: Richard Henderson writes: On 03/26/2014 12:40 PM, Jakub Jelinek wrote: On Wed, Mar 26, 2014 at 01:32:44PM -0600, Jeff Law wrote: On 03/26/14 12:28, Jakub Jelinek wrote: (mult:SI (const

Re: [gomp4] Add tables generation

2014-03-27 Thread Jakub Jelinek
On Thu, Mar 27, 2014 at 08:13:00PM +0400, Ilya Verbin wrote: > On 27 Mar 15:02, Jakub Jelinek wrote: > > The tables need to be created before IPA, that way it really shouldn't > > matter in what order you emit them. E.g. the outlined target functions > > could be added to the table during ompexp p

Re: [gomp4] Add tables generation

2014-03-27 Thread Ilya Verbin
On 27 Mar 15:02, Jakub Jelinek wrote: > The tables need to be created before IPA, that way it really shouldn't > matter in what order you emit them. E.g. the outlined target functions > could be added to the table during ompexp pass which actually creates the > outlined functions, the vars need to

Re: [GOOGLE] Refactor the LIPO fixup

2014-03-27 Thread Dehao Chen
On Wed, Mar 26, 2014 at 4:05 PM, Xinliang David Li wrote: > is cgraph_init_gid_map called after linking? Oh, forgot that part. It's interesting that the test can pass without another cgraph_init_gid_map call. Patch updated. Retested and the performance is OK. Dehao > > David > > On Wed, Mar 26

[PATCH v2] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-03-27 Thread Rüdiger Sonderfeld
Hello Jonathan, thanks for your comments. > N.B. patches to the ChangeLog rarely apply cleanly (because someone > else may have changed the ChangeLog since the patch was created) so > the convention is to send the ChangeLog entry in the email body, or as > a separate attachment, or by using 'git

Re: [PATCH] S/390: Don't include 32 bit fp to int routines for 64 bit libgcc

2014-03-27 Thread Jakub Jelinek
On Thu, Mar 27, 2014 at 04:32:19PM +0100, Andreas Krebbel wrote: > On 27/03/14 15:15, Jakub Jelinek wrote: > > Does this fix the: > > -__fixdfti@@GCC_3.0 FUNC GLOBAL DEFAULT > > -__fixsfti@@GCC_3.0 FUNC GLOBAL DEFAULT > > -__fixtfti@@GCC_4.1.0 FUNC GLOBAL DEFAULT > > -__fixunsdfti@@GCC_3.0 FUNC GLO

Re: [PATCH] Add support for vbpermq builtin; Improve vec_extract

2014-03-27 Thread Michael Meissner
On Wed, Mar 26, 2014 at 08:30:39PM -0400, David Edelsohn wrote: > Okay. > > Good to add the optimizations. > > I notice that you emit nop with a comment after a "#" character. I > notice that you also added that to the POWER8 vector fusion peepholes. > > Is it safe to assume that all assemblers

Re: [RFA][PATCH][pr target/60648] Fix non-canonical RTL from x86 backend -- P1 regression

2014-03-27 Thread Jeff Law
On 03/26/14 15:53, Richard Sandiford wrote: Richard Henderson writes: On 03/26/2014 12:40 PM, Jakub Jelinek wrote: On Wed, Mar 26, 2014 at 01:32:44PM -0600, Jeff Law wrote: On 03/26/14 12:28, Jakub Jelinek wrote: (mult:SI (const_int 0) (const_int 4)) is IMHO far from being canonical. And, I'

Re: [PATCH] S/390: Don't include 32 bit fp to int routines for 64 bit libgcc

2014-03-27 Thread Andreas Krebbel
On 27/03/14 15:15, Jakub Jelinek wrote: > Does this fix the: > -__fixdfti@@GCC_3.0 FUNC GLOBAL DEFAULT > -__fixsfti@@GCC_3.0 FUNC GLOBAL DEFAULT > -__fixtfti@@GCC_4.1.0 FUNC GLOBAL DEFAULT > -__fixunsdfti@@GCC_3.0 FUNC GLOBAL DEFAULT > -__fixunssfti@@GCC_3.0 FUNC GLOBAL DEFAULT > -__fixunstfti@@GCC

Re: [DOC PATCH] Fix up __builtin_ffs* args (PR c/50347)

2014-03-27 Thread Marek Polacek
Actually I suppose this is obvious enough, so will commit it today. On Tue, Mar 25, 2014 at 09:59:39PM +0100, Marek Polacek wrote: > ffs builtins had wrong type of parameters. > > 2014-03-25 Marek Polacek > > PR c/50347 > * doc/extend.texi (ffs Builtins): Change unsigned types to

Re: [RFA][PATCH][pr target/60648] Fix non-canonical RTL from x86 backend -- P1 regression

2014-03-27 Thread Richard Henderson
On 03/27/2014 06:51 AM, Jakub Jelinek wrote: > Did you mean Jeff's original change, or say: > --- gcc/config/i386/i386.c2014-03-20 17:41:45.917689676 +0100 > +++ gcc/config/i386/i386.c2014-03-27 14:47:21.876254288 +0100 > @@ -13925,13 +13925,13 @@ ix86_legitimize_address (rtx x, rtx oldx >

Re: [PATCH] S/390: Don't include 32 bit fp to int routines for 64 bit libgcc

2014-03-27 Thread Jakub Jelinek
On Thu, Mar 27, 2014 at 02:59:05PM +0100, Andreas Krebbel wrote: > Hi, > > with r207507 I've made our fp to int conversion routines available > also for the 32 bit biarch libgcc. The patch included these also for > the 64 bit libgcc which is wrong since it prevent routines like > fixsfti from bei

Re: [gomp4] Add tables generation

2014-03-27 Thread Jakub Jelinek
On Thu, Mar 27, 2014 at 05:31:29PM +0400, Ilya Verbin wrote: > >+#ifdef ACCEL_COMPILER > >+ /* Decls are placed in reversed order in fat-objects, so we need to > >+ revert them back if we compile target. */ > >... > > Actually this change is incorrect. If host binary is built with -flto, th

[PATCH] S/390: Don't include 32 bit fp to int routines for 64 bit libgcc

2014-03-27 Thread Andreas Krebbel
Hi, with r207507 I've made our fp to int conversion routines available also for the 32 bit biarch libgcc. The patch included these also for the 64 bit libgcc which is wrong since it prevent routines like fixsfti from being generated by libgcc2.c. The attached patch fixes the following testsuite

Re: [RFA][PATCH][pr target/60648] Fix non-canonical RTL from x86 backend -- P1 regression

2014-03-27 Thread Jakub Jelinek
On Wed, Mar 26, 2014 at 09:53:47PM +, Richard Sandiford wrote: > Richard Henderson writes: > > On 03/26/2014 12:40 PM, Jakub Jelinek wrote: > >> On Wed, Mar 26, 2014 at 01:32:44PM -0600, Jeff Law wrote: > >>> On 03/26/14 12:28, Jakub Jelinek wrote: > (mult:SI (const_int 0) (const_int 4))

Re: [gomp4] Add tables generation

2014-03-27 Thread Bernd Schmidt
On 03/27/2014 02:31 PM, Ilya Verbin wrote: +#ifdef ACCEL_COMPILER + /* Decls are placed in reversed order in fat-objects, so we need to + revert them back if we compile target. */ ... Actually this change is incorrect. If host binary is built with -flto, then both host gcc and target gcc

Re: [gomp4] Add tables generation

2014-03-27 Thread Bernd Schmidt
On 03/27/2014 02:31 PM, Ilya Verbin wrote: +#ifdef ACCEL_COMPILER + /* Decls are placed in reversed order in fat-objects, so we need to + revert them back if we compile target. */ ... Actually this change is incorrect. If host binary is built with -flto, then both host gcc and target gcc

Re: [PATCH] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-03-27 Thread Jonathan Wakely
On 27/03/14 12:52 +0100, Rüdiger Sonderfeld wrote: * include/bits/ios_base.h (hexfloat): New function. (defaultfloat): New function. * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support hexadecimal floating point format. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hex

Re: [gomp4] Add tables generation

2014-03-27 Thread Ilya Verbin
>+#ifdef ACCEL_COMPILER >+ /* Decls are placed in reversed order in fat-objects, so we need to >+ revert them back if we compile target. */ >... Actually this change is incorrect. If host binary is built with -flto, then both host gcc and target gcc read decls from lto and target_lto sectio

[committed] Fix #pragma omp simd ICE (PR middle-end/60682)

2014-03-27 Thread Jakub Jelinek
Hi! gimplify_regimplify_operands doesn't grok gimple_clobber_p stmts very well (tries to regimplify the CONSTRUCTOR), but in the only case where we might need to regimplify them in omp-low.c (the addressable local vars in simd regions, remember this is before inlining) the clobbers actually don't

Re: [PATCH] Fix GDB PR15559 (inferior calls using "thiscall" calling convention)

2014-03-27 Thread Julian Brown
On Wed, 26 Mar 2014 10:25:19 -0600 Tom Tromey wrote: > > "Julian" == Julian Brown writes: > > Julian> include/ > Julian> * dwarf2.h (enum dwarf_calling_convention): Add > Julian> DW_CC_GNU_thiscall_i386. > > We've been trying to ensure that all GNU DWARF extensions are > docume

Re: [committed] Skip gcc.dg/torture/pr60092.c on 32-bit hpux

2014-03-27 Thread John David Anglin
On 24-Mar-14, at 2:45 AM, Rainer Orth wrote: John David Anglin writes: Index: gcc.dg/torture/pr60092.c === --- gcc.dg/torture/pr60092.c(revision 208769) +++ gcc.dg/torture/pr60092.c(working copy) @@ -1,5 +1,6 @@ /* { dg-

[PATCH] libstdc++: Add hexfloat/defaultfloat io manipulators.

2014-03-27 Thread Rüdiger Sonderfeld
* include/bits/ios_base.h (hexfloat): New function. (defaultfloat): New function. * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support hexadecimal floating point format. * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc: New file. hexfloat/defaultfloat are new io

[Patch debug] Fix PR60655 partially.

2014-03-27 Thread Ramana Radhakrishnan
Hi, This is a partial fix for PR60655 where dwarf2out.c rejects NOT of a value in const_ok_for_output_1. There is still a problem with the testcase on armhf where we get operations of the form, const (minus (const_int) (symref)) without the -fdata-sections option which is just weird. I'm n

Re: C++ PATCH for c++/60566 (dtor devirtualization and missing thunks)

2014-03-27 Thread Andreas Schwab
Jason Merrill writes: > diff --git a/gcc/testsuite/g++.dg/abi/thunk6.C > b/gcc/testsuite/g++.dg/abi/thunk6.C > new file mode 100644 > index 000..e3d07f2 > --- /dev/null > +++ b/gcc/testsuite/g++.dg/abi/thunk6.C > @@ -0,0 +1,18 @@ > +// PR c++/60566 > +// We need to emit the construction vtab

Re: Fix PR ipa/60315 (inliner explosion)

2014-03-27 Thread Andreas Schwab
(b)->*(&Derived::f))(); > +} FAIL: g++.dg/torture/pr60315.C -O0 (test for excess errors) Excess errors: /usr/local/gcc/gcc-20140327/gcc/testsuite/g++.dg/torture/pr60315.C:7:19: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 /usr/local/

RE: [PATCH, ARM] Optimise NotDI AND/OR ZeroExtendSI for ARMv7A

2014-03-27 Thread Ian Bolton
> -Original Message- > From: Richard Earnshaw > Sent: 21 March 2014 13:57 > To: Ian Bolton > Cc: gcc-patches@gcc.gnu.org > Subject: Re: [PATCH, ARM] Optimise NotDI AND/OR ZeroExtendSI for ARMv7A > > On 19/03/14 16:53, Ian Bolton wrote: > > This is a follow-on patch to one already committed

[AArch64/ARM 3/3] Add execution tests of ARM ZIP Intrinsics

2014-03-27 Thread Alan Lawrence
Final patch adds new tests of the ARM ZIP Intrinsics (subsuming the autogenerated ones in testsuite/gcc.target/arm/neon/), that also check the execution results, reusing the test bodies introduced into AArch64 in the first patch. All tests passing on arm-none-eabi. gcc/testsuite/ChangeLog: 20

[AArch64/ARM 1/3] Add execution + assembler tests of the AArch64 ZIP Intrinsics.

2014-03-27 Thread Alan Lawrence
This adds DejaGNU tests of the existing AArch64 vzip_* intrinsics, both checking the assembler output and the runtime results. Test bodies are in separate files ready to reuse for ARM in the third patch. Putting these in a new subdirectory ready for tests of other/related intrinsics. All tests

[AArch64/ARM 2/3] Rewrite AArch64 ZIP Intrinsics using __builtin_shuffle

2014-03-27 Thread Alan Lawrence
This patch replaces the temporary inline assembler for vzip_* in arm_neon.h with equivalent calls to __builtin_shuffle. These are matched by aarch64_expand_vec_perm_const{,_1} to output the same assembler instructions. Tests from first patch still passing on aarch64-none-elf and aarch64_be-non

[AArch64/ARM 0/3] Patch series for ZIP intrinsics

2014-03-27 Thread Alan Lawrence
Hi, AArch64 zip_* intrinsics are currently implemented with temporary inline asm, which prevent analysis through themselves. This is to replace those asm blocks with (equivalent) calls to __builtin_shuffle, which produce the same assembler instructions (unless gcc can do better). First patch

Re: [PATCH] x86: _mm*_undefined_* (for real)

2014-03-27 Thread Kirill Yukhin
Hello Ulrich, On 21 Mar 06:41, Ulrich Drepper wrote: > From personal experience I find it > very frustrating if a gcc release doesn't have the complete set of > intrinsics since then you have to provide your own implementations in > code which doesn't assume the latest compiler. I think I should m

Re: Fix PR60644

2014-03-27 Thread Alexander Ivchenko
Adding Balaji. --Alexander 2014-03-26 18:56 GMT+04:00 Alexander Ivchenko : > Hi, > > In gcc/config/linux-android.h we have "builtin_define ("__ANDROID__");" > So "ANDROID" as in libcilkrts now is not the correct macro to check. > > Bootstrapped and passed cilk testsuite on x86_64-unknown-linux-gn

Re: [PATCH, x86, testsuite, AVX-512] Fix initialization in 4 tests for shuffles.

2014-03-27 Thread Uros Bizjak
On Thu, Mar 27, 2014 at 10:18 AM, Kirill Yukhin wrote: > Straightforward patch in the bottom fixes > copy-and-paste problem in initialization part > of tests. > > Updated tests pass on simulator. > > Is it ok for trunk? > > gcc/testsuite: > * gcc.target/i386/avx512f-vshuff32x4-2.c: Fix in

[PATCH, x86, testsuite, AVX-512] Fix initialization in 4 tests for shuffles.

2014-03-27 Thread Kirill Yukhin
Hello, Straightforward patch in the bottom fixes copy-and-paste problem in initialization part of tests. Updated tests pass on simulator. Is it ok for trunk? gcc/testsuite: * gcc.target/i386/avx512f-vshuff32x4-2.c: Fix initialization of second source operand. * gcc.target

Re: [PATCH] Fix PR rtl-optimization/pr60663

2014-03-27 Thread Zhenqiang Chen
On 26 March 2014 15:45, Jakub Jelinek wrote: > On Wed, Mar 26, 2014 at 03:30:44PM +0800, Zhenqiang Chen wrote: >> Agree. CSE should never modify asm insns to drop some of the outputs. > > So the right fix is top prevent this from happening, not papering over about > it. >> >> But in this case, CSE