Re: [PATCH PR target/65058] AIX: missing extern decorations [DS] for functions and [RW] for variables

2015-02-17 Thread David Edelsohn
On Tue, Feb 17, 2015 at 2:33 AM, Michael Haubenwallner michael.haubenwall...@ssi-schaefer.com wrote: Hi David, Am 2015-02-14 um 22:05 schrieb David Edelsohn: Hi, Michael Thanks for noticing this. This patch generally seems to be on the right track. The original ASM_OUTPUT_EXTERNAL code

Re: [PATCH PR target/65058] AIX: missing extern decorations [DS] for functions and [RW] for variables

2015-02-17 Thread David Edelsohn
On Tue, Feb 17, 2015 at 11:39 AM, Michael Haubenwallner michael.haubenwall...@ssi-schaefer.com wrote: Am 2015-02-17 um 16:00 schrieb David Edelsohn: On Tue, Feb 17, 2015 at 2:33 AM, Michael Haubenwallner michael.haubenwall...@ssi-schaefer.com wrote: One more thought: How

[PATCH, fixincludes] Fix PR 48009 53348

2015-02-15 Thread David Edelsohn
The stdlib.h header in AIX 4.3 does not correctly declare strtof with a const char* argument. Users are building the latest releases of GCC on AIX 4.3 The appended patch from Richard G Daniel uses fixincludes to correct the declaration. Okay? Thanks, David PR bootstrap/48009

Re: [PATCH PR target/65058] AIX: missing extern decorations [DS] for functions and [RW] for variables

2015-02-14 Thread David Edelsohn
Hi, Michael Thanks for noticing this. This patch generally seems to be on the right track. The original ASM_OUTPUT_EXTERNAL code was not completely correct in the pedantic sense. It should use [UA] mapping class instead of [RW] for all non-function descriptor symbols. This patch also needs a

[PATCH] Fix some new AIX testsuite failures

2015-02-14 Thread David Edelsohn
The recent PowerPC tests are not relevant to AIX. And builtin-noret-{12}, now produce valid AIX linker warnings. Bootstrapped on powerpc-ibm-aix7.1.0.0 Committed. Thanks, David * gcc.target/powerpc/pr64205.c: Skip on AIX. * gcc.target/powerpc/pr64505.c: Skip on AIX. *

Re: [RS6000] Fix -m32 -Os lossage

2015-02-12 Thread David Edelsohn
On Thu, Feb 12, 2015 at 5:10 PM, Alan Modra amo...@gmail.com wrote: On Thu, Feb 12, 2015 at 10:04:45AM -0500, David Edelsohn wrote: On Thu, Feb 12, 2015 at 7:33 AM, Alan Modra amo...@gmail.com wrote: * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry

Re: [PATCH] Adjust gcc.target/powerpc/atomic-p{7,8}.c tests for PR59448 (PR testsuite/64930)

2015-02-12 Thread David Edelsohn
On Thu, Feb 12, 2015 at 2:51 AM, Jakub Jelinek ja...@redhat.com wrote: Hi! As PR59448 started promoting consume to acquire and as written by Torvald, that isn't going to change any time soon unless the standard is clarified, this patch adjusts the two PPC testcases for that. Ok for trunk?

Re: [RS6000] Fix -m32 -Os lossage

2015-02-12 Thread David Edelsohn
On Thu, Feb 12, 2015 at 7:33 AM, Alan Modra amo...@gmail.com wrote: Fixes -Os breakage showing up as 3 testsuite fails like the following, caused by addmode3 losing r0 as a valid source reg. insn does not satisfy its constraints: (insn 98 97 99 2 (set (reg:SI 11 11) (plus:SI (reg:SI

Re: emit-rtl tidy

2015-02-06 Thread David Edelsohn
* config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence. The rs6000 change is okay. Thanks, David

[PATCH] PR 64256

2015-02-06 Thread David Edelsohn
After a lot of investigation, I believe that I have learned why stabs debugging on AIX disabled use of continuations. GDB, IBM DBX and IBM XLDB are able to work with stab string continuations produced by GCC. I am enabling it using definitions that match the behavior of IBM XL compilers to avoid

Re: [PATCH], PR target/64205, Fix -mcpu=G5 breakage on PowerPC

2015-02-06 Thread David Edelsohn
On Fri, Feb 6, 2015 at 9:41 AM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: This patch fixes PR target/64205, which was caused due to my previous patch to add the -mupper-regs support for scalar floating point to occupy the VSX floating point registers that are overlaid on top of the

Re: [PATCH] rs6000: Fix huge compile time on thunks (PR64580)

2015-02-05 Thread David Edelsohn
On Thu, Feb 5, 2015 at 9:50 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: On Thu, Jan 29, 2015 at 04:38:21PM -0800, Segher Boessenkool wrote: 2015-01-29 Segher Boessenkool seg...@kernel.crashing.org gcc/ PR target/64580 * config.rs6000/rs6000.c (compute_vrsave_mask):

Re: Fix PR64876, regressions in powerpc64 Go testsuite

2015-02-05 Thread David Edelsohn
On Thu, Feb 5, 2015 at 5:29 AM, Alan Modra amo...@gmail.com wrote: On Thu, Feb 05, 2015 at 08:12:25AM +0100, Jakub Jelinek wrote: On Thu, Feb 05, 2015 at 02:09:54PM +1030, Alan Modra wrote: Jakub, was your suggestion to use get_last_insn_anywhere() based on not wanting to expose details that

Re: Fix PR64876, regressions in powerpc64 Go testsuite

2015-02-04 Thread David Edelsohn
On Tue, Feb 3, 2015 at 7:16 PM, Alan Modra amo...@gmail.com wrote: On Tue, Feb 03, 2015 at 11:14:49AM -0500, David Edelsohn wrote: On Tue, Feb 3, 2015 at 8:57 AM, Alan Modra amo...@gmail.com wrote: PR target/64876 * config/rs6000/rs6000.c (chain_already_loaded): New function

Re: r219977 - in /trunk/gcc: ChangeLog config/rs600...

2015-02-03 Thread David Edelsohn
On Tue, Feb 3, 2015 at 5:55 PM, Andreas Schwab sch...@linux-m68k.org wrote: FAIL: gcc.dg/builtins-58.c scan-assembler-not pow $ grep pow builtins-58.s .machine power4 Any suggestions? - David

Re: Fix PR64876, regressions in powerpc64 Go testsuite

2015-02-03 Thread David Edelsohn
On Tue, Feb 3, 2015 at 8:57 AM, Alan Modra amo...@gmail.com wrote: This fixes a large number of Go testsuite failures on powerpc64 ELFv1, caused by loading r11 from a function descriptor and thus trashing the value set up from CALL_EXPR_STATIC_CHAIN. So don't load r11 if it already contains a

Re: [RS6000] fix for RTL cprop vs. fixed hard regs

2015-02-01 Thread David Edelsohn
On Fri, Jan 30, 2015 at 1:57 AM, Alan Modra amo...@gmail.com wrote: On Fri, Jan 16, 2015 at 08:12:27PM +1030, Alan Modra wrote: https://lists.ozlabs.org/pipermail/linuxppc-dev/2014-December/123776.html shows gcc-5 miscompiling a powerpc64 linux kernel. The executive summary is that the rs6000

[PATCH] PR 64047

2015-02-01 Thread David Edelsohn
This patch applies equivalent changes from ix86_set_current_function to rs6000_set_current_function. The example in the Bugzilla report does not fail, but I hope that the reporter can confirm this is fixed. Bootstrapped on powerpc64-linux-gnu. Committed. Thanks, David PR target/64047

Re: [PATCH] PR64635 - load libgomp-plugin-host_nonshm shared library with correct suffix

2015-02-01 Thread David Edelsohn
Based on the way that libgomp wants to dynamically load the library, the library should use suffix .so.#n on AIX. AIX also needs the library linked with libpthread. Bootstrapped on powerpc-ibm-aix7.1.0.0. Thanks, David PR libgomp/64635 * configure.tgt (*-*-aix*): Use standard

[libstdc++ testsuite] all_attributes.cc failures

2015-01-31 Thread David Edelsohn
Jonathan, The new testcases are producing new failures on AIX /nasfarm/edelsohn/src/src/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc:29:16: error: expected ')' before numeric constant

Re: [RFC] PR64703, glibc sysdeps/powerpc/powerpc64/dl-machine.h miscompile

2015-01-29 Thread David Edelsohn
gcc/ PR target/64703 * target.def (has_function_descriptors): New hook. * doc/tm.texi.in: Add TARGET_HAS_FUNCTION_DESCRIPTORS. * doc/tc.texi: Regenerate. * tree-ssa-alias.c (pt_solution_includes_base): New function, extracted from.. (ref_maybe_used_by_call_p_1): ..here. Handle potential memory

Re: [PATCH, rs6000] Allow swap removal for convert-splat idiom

2015-01-29 Thread David Edelsohn
On Sun, Jan 25, 2015 at 7:44 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, A not uncommon idiom on Power for vector floating-point computation is used to convert a double-precision value to single-precision and copy it to all elements of a vector float. For this we see a specific

[PATCH] PR64159

2015-01-29 Thread David Edelsohn
As discussed in the PR and referenced by the comment in the testcase itself, the failure is expected on PowerPC and also occurs on SPARC. Thanks, David * gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL for powerpc*-*-* and sparc*-*-*. Index: ssa-dom-cse-2.c

Re: [PATCH, rs6000, testsuite] Changes for unaligned vector load/store support on POWER8

2015-01-29 Thread David Edelsohn
On Fri, Jan 23, 2015 at 12:23 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, The POWER8 processor greatly improves performance of unaligned vector loads and stores. Except for certain corner cases the compiler can't readily track, an unaligned vector load or store performs

Re: [PATCH] rs6000: Fix huge compile time on thunks (PR64580)

2015-01-29 Thread David Edelsohn
On Thu, Jan 29, 2015 at 7:38 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: The problem in this PR is that rs6000_stack_info spends an enormous amount of time when compiling thunks. This turns out to be a loop in compute_vrsave_mask that loops (almost) 4G times because the loop

Re: [RFC PATCH] Avoid most of the BUILT_IN_*_CHKP enum values

2015-01-28 Thread David Edelsohn
On Wed, Jan 28, 2015 at 6:45 AM, Richard Biener richard.guent...@gmail.com wrote: On Wed, Jan 28, 2015 at 12:24 PM, Jakub Jelinek ja...@redhat.com wrote: On Wed, Jan 28, 2015 at 12:15:40PM +0100, Richard Biener wrote: Note, patch successfully bootstrapped/regtested on x86_64-linux and

Re: Fix 59828 - Broken assembly on ppc* with two -mcpu= options

2015-01-27 Thread David Edelsohn
On Tue, Jan 27, 2015 at 7:27 PM, Alan Modra amo...@gmail.com wrote: On Wed, Jan 21, 2015 at 02:01:44PM -0500, David Edelsohn wrote: I want to avoid duplicating the -mcpu parsing logic or the Rube Goldberg mechanism to re-generate the -mXXX assembler directive. Oh well, I had fun writing

Re: [RFC] POWER8 default for PPC64LE

2015-01-26 Thread David Edelsohn
On Mon, Jan 26, 2015 at 4:46 AM, Jakub Jelinek ja...@redhat.com wrote: On Sat, Jan 17, 2015 at 09:18:14PM -0500, David Edelsohn wrote: Thanks, David * config/rs6000/default64.h: Include rs6000-cpus.def. (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8). * config

Re: [RFC] POWER8 default for PPC64LE

2015-01-21 Thread David Edelsohn
On Wed, Jan 21, 2015 at 6:22 AM, Andreas Schwab sch...@suse.de wrote: David Edelsohn dje@gmail.com writes: Index: gcc/config/rs6000/rs6000.c === --- gcc/config/rs6000/rs6000.c(revision 219747) +++ gcc/config/rs6000

Re: Fix 59828 - Broken assembly on ppc* with two -mcpu= options

2015-01-21 Thread David Edelsohn
On Tue, Jan 20, 2015 at 7:02 PM, Alan Modra amo...@gmail.com wrote: On Tue, Jan 20, 2015 at 09:26:12AM -0500, David Edelsohn wrote: On Tue, Jan 20, 2015 at 12:41 AM, Alan Modra amo...@gmail.com wrote: On Mon, Jan 19, 2015 at 10:43:29PM -0500, David Edelsohn wrote: On Fri, Jan 17, 2014 at 10

Re: Fix 59828 - Broken assembly on ppc* with two -mcpu= options

2015-01-20 Thread David Edelsohn
On Tue, Jan 20, 2015 at 12:41 AM, Alan Modra amo...@gmail.com wrote: On Mon, Jan 19, 2015 at 10:43:29PM -0500, David Edelsohn wrote: On Fri, Jan 17, 2014 at 10:58 PM, Alan Modra amo...@gmail.com wrote: This patch cures PR59828 by translating all the -mcpu options at once, in order

Re: Fix 59828 - Broken assembly on ppc* with two -mcpu= options

2015-01-19 Thread David Edelsohn
On Fri, Jan 17, 2014 at 10:58 PM, Alan Modra amo...@gmail.com wrote: This patch cures PR59828 by translating all the -mcpu options at once, in order, to their equivalent assembler -m options by using a new spec function. In the process this removes some duplication. All the rhs of -mcpu=

RE: [PATCH] Fix for PR64081 in RTL loop unroller

2015-01-19 Thread David Edelsohn
Unfortunately this patch broke bootstrap on AIX (PPC32) PR bootstrap/64676 - David

Re: [PATCH 1/6] rs6000: Fix multi-reg return types for -m32 -mpowerpc64

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 135 FAILs. 2015-01-16 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/rs6000.c (rs6000_parallel_return): New function. (rs6000_function_value): Use it.

Re: [PATCH 2/6] rs6000: Do not allow lo_sum accesses = 4 bytes if unaligned

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 29 FAILs. The ld, lwa etc. insns do not encode the low two bits of the offset in the opcode; those have to be zero. For -m64 this seemed to never matter, datums are always aligned; but for -m32

Re: [PATCH 3/6] rs6000: Fix SDmode varargs for -m32 -mpowerpc64

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 26 FAILs. 2015-01-16 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT to test for 32-bit ABIs, not

Re: [PATCH 4/6] rs6000: Fix stack probes for -m32 -mpowerpc64

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 3 FAILs. The generic emit_stack_probe (that is used for probe_stack patterns) uses word_mode, which won't fly for -m32 -mpowerpc64. Use probe_stack_address instead, and create the MEM by hand.

Re: [PATCH 5/6] rs6000: Fix gcc.dg/20020919-1.c for -m32 -mpowerpc64

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: long long takes one register exactly when TARGET_POWERPC64, which is _ARCH_PPC64 in preprocessor macros; not just for 64-bit ABIs. 2015-01-16 Segher Boessenkool seg...@kernel.crashing.org gcc/testsuite/

Re: [PATCH 6/6] rs6000: Fix ppc-fpconv-[48].c for -m32 -mpowerpc64

2015-01-17 Thread David Edelsohn
On Sat, Jan 17, 2015 at 3:48 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: These tests test that no 64-bit etc. insns are used when the compiler options say they should not be used. But -mpowerpc64 says that they _should_ be used. So skip the tests in that case. 2015-01-16

Re: [RFC] POWER8 default for PPC64LE

2015-01-17 Thread David Edelsohn
Supporting this turned out to be more involved. --with-cpu implicitly adds -mcpu to all specs, which invokes the assembler with the correct option. Directly setting TARGET_DEFAULT does not adjust the assembler invocation. This patch adds support to rs6000_file_start to emit the .machine

Re: [patch libstdc++] Optimize synchronization in std::future if futexes are available.

2015-01-16 Thread David Edelsohn
This patch has broken bootstrap on AIX May I mention that this really should have been tested on systems other than x86 Linux. In file included from /tmp/20150117/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/ future:44:0, from

Re: [PATCH 5/5] rs6000: Do not allow TImode with -m32 -mpowerpc64

2015-01-15 Thread David Edelsohn
On Wed, Jan 14, 2015 at 8:14 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 141 FAILs. -mpowerpc64 does not change the ABI, but default_scalar_mode_supported_p does not know that, and allows TImode for -m32 -mpowerpc64. This fixes it. Okay for mainline? 2015-01-14

[RFC] POWER8 default for PPC64LE

2015-01-14 Thread David Edelsohn
The PPC64LE ABI specifies POWER8 ISA as the minimum hardware requierment. Currently, Linux distributions are building the toolchain using --with-cpu=power7 or power8, as they wish. GCC defaults to essentially the POWER4 ISA. The appended patch changes the default for PPC64LE to POWER8 (ISA

Re: [PATCH 4/5] rs6000: Introducing rs6000_abi_word_mode

2015-01-14 Thread David Edelsohn
On Wed, Jan 14, 2015 at 8:14 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: Some hooks return word_mode by default, which is incorrect for -m32 -mpowerpc64. This patch creates a new function rs6000_abi_word_mode to implement these hooks, and does so. This fixes 163 testuite FAILs.

Re: [PATCH 3/5] rs6000: Fix va_start handling for -m32 -mpowerpc64 ABI_V4

2015-01-14 Thread David Edelsohn
On Wed, Jan 14, 2015 at 8:14 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 88 testsuite FAILs. -mpowerpc64 does not change the ABI, but it does change the value of UNITS_PER_WORD. This code is for 32-bit only so we can use MIN_UNITS_PER_WORD instead. Bootstrapped and

Re: [PATCH 2/5] rs6000: Fix TARGET_PROMOTE_FUNCTION_MODE

2015-01-14 Thread David Edelsohn
On Wed, Jan 14, 2015 at 8:14 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: As the existing comment explains, we should always promote function arguments and return values. However, notwithstanding its name, default_promote_function_mode_always_promote does not always promote.

Re: [PATCH 1/5] rs6000: Fix PROMOTE_MODE for -m32 -mpowerpc64

2015-01-14 Thread David Edelsohn
On Wed, Jan 14, 2015 at 8:14 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: UNITS_PER_WORD is 8 with -m32 -mpowerpc64. Promoting items smaller than 8 bytes to 4 bytes doesn't make sense. I tried to fix it the other way around first, promoting everything smaller than UNITS_PER_WORD

Re: [PATCH] rs6000: Make rs6000_split_logical handle inverted 2nd operand (PR64358)

2015-01-13 Thread David Edelsohn
On Mon, Jan 12, 2015 at 6:52 PM, Pat Haugen pthau...@linux.vnet.ibm.com wrote: Following backport tested on 4.8/4.9 with no new regressions. Ok to commit to those branches? -Pat 2015-01-12 Pat Haugen pthau...@us.ibm.com Backport from mainline 2014-12-20 Segher

Re: [PATCH] rs6000: Fix va_start handling for -m32 -mpowerpc64 ABI_V4

2015-01-09 Thread David Edelsohn
On Fri, Jan 9, 2015 at 5:52 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes 88 testsuite FAILs. -mpowerpc64 does not change the ABI, but it does change the value of UNITS_PER_WORD. We could use POINTER_SIZE_UNITS instead of 4 here, but that does not seem quite right.

Re: [PATCH] rs6000: Fix recip tests for -m32 -mpowerpc64

2015-01-09 Thread David Edelsohn
On Fri, Jan 9, 2015 at 1:38 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This fixes gcc.target/powerpc/recip-[67].c with -m32 -mpowerpc64. Tested etc.; okay for mainline? Segher 2015-01-08 Segher Boessenkool seg...@kernel.crashing.org gcc/testsuite/ *

Re: [PATCH] rs6000: Introducing rs6000_abi_word_mode

2015-01-09 Thread David Edelsohn
On Fri, Jan 9, 2015 at 10:26 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: Some hooks return word_mode by default, which is incorrect for -m32 -mpowerpc64. This patch creates a new function rs6000_abi_word_mode to implement these hooks, and does so. This fixes 163 testuite FAILs.

Re: [PATCH] rs6000: Fix TARGET_PROMOTE_FUNCTION_MODE

2015-01-09 Thread David Edelsohn
On Thu, Jan 8, 2015 at 8:10 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: As the existing comment explains, we should always promote function arguments and return values. However, notwithstanding its name, default_promote_function_mode_always_promote does not always promote.

Re: [PATCH] rs6000: Add eqsi/nesi storing to a 64-bit reg (PR36557)

2015-01-07 Thread David Edelsohn
On Wed, Jan 7, 2015 at 8:28 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: The compiler cannot assume that the eqsi etc. patterns write a properly extended result to a DI reg. The current way to tell it is to add an extra pattern with an extend. This patch does that. A less

Re: [PATCH], rs6000, PR 64505 -- Fix issue with -m32 -mpowerpc64

2015-01-06 Thread David Edelsohn
On Mon, Jan 5, 2015 at 7:50 PM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: This patch fixes PR 64505, which is an issue that one of the users of the Advance Toolchain found where -m32 -mpowerpc64 generated an insn not found message in some cases. I traced this down to

[PATCH] Dejagnu fixes for TLS on AIX

2014-12-31 Thread David Edelsohn
On AIX, GCC needs to build a multilib for AIX. When testing in tree, the Dejagnu infrastructure adds linking options for the default, non-pthread multilib. This causes failures for the G++ TLS tests. The following patch uses the existing add_options_for_tls infrastructure to adjust the flags to

Re: [Patch, libstdc++/64441] Fix sub_match::first and second

2014-12-31 Thread David Edelsohn
After this patch I now see FAIL: 28_regex/algorithms/regex_match/ecma/char/backref.cc execution test on AIX. Thanks, David

Re: [PATCH] rs6000: Fix the dlmzb. testcases

2014-12-24 Thread David Edelsohn
On Wed, Dec 24, 2014 at 12:05 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: The dlmzb. instruction requires an 8-byte aligned operand. The testcases try to enforce that by passing an arg as long long *, but current GCC still assumes an alignment of 1 (correctly I think -- the

Re: [PATCH] rs6000: Make rs6000_split_logical handle inverted 2nd operand (PR64358)

2014-12-20 Thread David Edelsohn
On Sat, Dec 20, 2014 at 10:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: If rs6000_split_logical is asked to invert the second operand (but not the first), it emits RTL that is just that; but canonical RTL has the first arm inverted if only one, not the second. This patch fixes

Re: [PATCH, rs6000] PR59708, Fix operand ordering for 128-bit andc/orc

2014-12-19 Thread David Edelsohn
The canonical form has the NOT first. If the second operand needs the NOT, the operands need to be reversed when the new insn is created, in rs6000_split_logical, not in the pattern. Thanks, David On Fri, Dec 19, 2014 at 4:27 PM, Pat Haugen pthau...@linux.vnet.ibm.com wrote: On 12/19/2014

Re: [PATCH] rs6000: Do not allow GPR0 for addic. if it is split

2014-12-15 Thread David Edelsohn
On Mon, Dec 15, 2014 at 6:11 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: If an addic. is split to addi+cmp (because RA didn't give it CR0), it will do the wrong thing if the input reg is GPR0 (addi X,0,N is li X,N). So don't allow such an input. Spotted visually while

Re: [PATCH 06/10] rs6000: New add/subf carry insns

2014-12-10 Thread David Edelsohn
On Wed, Dec 10, 2014 at 9:00 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: On Mon, Dec 08, 2014 at 10:53:21AM -0500, David Edelsohn wrote: As we both noticed, there are a few problems with this patch, so I'll wait for a revised version. Here it is. It took a bit longer because

Re: [PATCH 04/10] rs6000: Remove addic from the normal add pattern

2014-12-09 Thread David Edelsohn
On Tue, Dec 9, 2014 at 11:24 AM, Eric Botcazou ebotca...@adacore.com wrote: It's unfortunate that GCC does not have separate patterns for a safe ADD used by reload. It does, the addptrM3 pattern, but it works only with LRA at the moment. Hi, Eric Segher and I previously discussed addptrM3,

Re: [PATCH 07/10] rs6000: The big carry insns addition

2014-12-09 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: Now that everything is in place for letting GCC use the carry-using and carry-producing machine insns as separate RTL insns, switch over all remaining patterns that clobber CA without telling the compiler.

Re: [PATCH 08/10] rs6000: compare-two for rld*;rld*.

2014-12-09 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: These now are the only remaining patterns that have type compare. And they shouldn't: two is a better type for them. 2014-12-08 Segher Boessenkool seg...@kernel.crashing.org gcc/ *

Re: [PATCH 09/10] rs6000: Remove the (now unused) insn type compare

2014-12-09 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: 2014-12-08 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/40x.md (ppc403-compare): Remove compare. config/rs6000/440.md (ppc440-compare): Remove compare.

Re: [PATCH 10/10] rs6000: Get rid of the weird decimal thing in add

2014-12-09 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: Peter tells me it was an artifact of old versions of the DFP code. The condition can never be false; delete it. 2014-12-08 Segher Boessenkool seg...@kernel.crashing.org gcc/ *

Re: [PATCH 01/10] rs6000: Clobber XER[CA] in all user asm statements

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: A lot of old user code clobbers the carry bit without telling the compiler about it. This used to just work, because the compiler never used the bit outside of a single RTL instruction. But that will change.

Re: [PATCH 02/10] rs6000: Remove addic alternative from various lo_sum patterns

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This means we do not allow GPR0 as base address of those anymore. The alternative is to not allow the carry bit to be live over any lo_sum, which is more expensive. 2014-12-08 Segher Boessenkool

Re: [PATCH 03/10] rs6000: Do not use addic in the ctr* splitters

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: These splitters are only used when for some reason we generated a bdnz loop but we cannot actually use one (CTR is already used for something else, for example). This shouldn't happen often, so making the

Re: [PATCH 04/10] rs6000: Remove addic from the normal add pattern

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This means we can no longer add GPR0+imm. Register allocation will have to use a different register. 2014-12-08 Segher Boessenkool seg...@kernel.crashing.org gcc/ PR target/64180 *

Re: [PATCH 04/10] rs6000: Remove addic from the normal add pattern

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 10:01 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: On Mon, Dec 08, 2014 at 09:44:44AM -0500, David Edelsohn wrote: -;; Discourage ai/addic because of carry but provide it in an alternative -;; allowing register zero as source. (define_insn

Re: [PATCH 05/10] rs6000: Merge and split add and addic

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This splits the addic patterns from the add/addi patterns, and merges the insns and splitters. Also change type compare to add for addic. (the dot form). 2014-12-08 Segher Boessenkool

Re: [PATCH 06/10] rs6000: New add/subf carry insns

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This implements addc, addic, adde, addze, addme, subfc, subfic, subfe, subfze, subfme. Some of those in multiple forms: canonical RTL for the immediate insns has four forms; subfX has a special form for

Re: [PATCH 06/10] rs6000: New add/subf carry insns

2014-12-08 Thread David Edelsohn
On Mon, Dec 8, 2014 at 10:41 AM, David Edelsohn dje@gmail.com wrote: On Mon, Dec 8, 2014 at 9:18 AM, Segher Boessenkool seg...@kernel.crashing.org wrote: This implements addc, addic, adde, addze, addme, subfc, subfic, subfe, subfze, subfme. Some of those in multiple forms: canonical RTL

[PATCH, committed] rs6000_secondary_reload_inner (PR target/64226)

2014-12-08 Thread David Edelsohn
The patch removes code from rs6000_secondary_reload_inner that explicitly called create_TOC_reference on SYMBOL_REF, CONST, and LABEL_REF involved in a secondary reload. find_reload was choosing an equivalence of a symbol_ref that referenced the raw data and secondary reload code was creating a

Re: [PATCH], PR 64204, Fix long double constants on powerpc little endian

2014-12-06 Thread David Edelsohn
On Fri, Dec 5, 2014 at 5:46 PM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: After my upper regs patches went in, I noticed that the gcc.dg/c11-atomic-2.c test would fail on a power8 host that was running in little endian mode. This particular test only fails if you are compiling this

Re: [PATCH] AIX: Filename-based shared library versioning for libgcc_s

2014-12-05 Thread David Edelsohn
On Fri, Dec 5, 2014 at 7:56 AM, Michael Haubenwallner michael.haubenwall...@ssi-schaefer.com wrote: On 11/25/2014 02:53 PM, David Edelsohn wrote: Now that things have calmed down with respect to breakage on AIX, the patch for building libgcc_s is okay. FYI: libtool-2.4.4 does support

[PATCH, committed] AIX lcomm alignment

2014-12-05 Thread David Edelsohn
AIX 6.1 and above provides a section alignment argument for the local comment pseudo-op (.lcomm) which GCC uses to implement ASM_OUTPUT_ALIGNED_LOCAL from emit_local(). In the AIX implementation, the first alignment for a particular CSECT name wins -- the CSECT alignment is not the maximum

[PATCH, committed] g++.dg/ext/visibilty/anon[12].C

2014-12-03 Thread David Edelsohn
The two testcases rely on visibility support. This patch explicitly adds the Dejagnu annotation to fix two more failures on systems without visibility support. Thanks, David Tested on powerpc-ibm-aix7.1.0.0 * g++.dg/ext/visibility/anon[12].C: Require visibility support. Index: anon1.C

[PATCH, committed] rs6000 std::swap

2014-12-03 Thread David Edelsohn
This patch updates rs6000.md and rs6000.c to use std::swap instead of open coding. Bootstrapped on powerpc-linux. Thanks, David * config/rs6000/rs6000.md (floatsidf2_internal): Use std::swap. (floatunssidf2_internal): Same. * config/rs6000/rs6000.c

Re: [PATCH] rs6000: Fix PR target/64115

2014-12-02 Thread David Edelsohn
On Tue, Dec 2, 2014 at 7:56 AM, Ulrich Weigand uweig...@de.ibm.com wrote: Hello, as discussed in the PR, this patch removes an invalid ENABLE_CHECKING sanity check in rs6000_delegitimize_address, fixing the ICE. Tested on powerpc64-linux. OK for mainline / 4.9 / 4.8? Bye, Ulrich

Re: [PATCH], PR 64019, fix power7/power8 regression

2014-12-01 Thread David Edelsohn
On Mon, Dec 1, 2014 at 5:48 PM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: in my change on November 24th (adding the support to use scalar floating point values in Altivec registers) there was a regression when Spec 2000 was compiled for 32-bit big endian power7 systems. The

Re: [PATCH] rs6000: fix for PR64093

2014-11-27 Thread David Edelsohn
On Thu, Nov 27, 2014 at 7:21 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: A slight oversight. andmode3_imm is predicated by rs6000_gen_cell_microcode so we had better not generate it otherwise; and in that case, we need to force the constant to a register. Bootstrap and testsuite

[PATCH, committed] skip alignof2.C testcase on AIX

2014-11-26 Thread David Edelsohn
The AIX ABI unfortunately does not use natural alignment. Type double is 4 word aligned. However, the alignment of structs with a first member of double are bumped to doubleword alignment. This exactly conflicts with the testcase. Thanks, David * g++.dg/ext/alignof2.C: xfail-run-if on

Re: [PATCH] rs6000: Replace a stray addic with addi

2014-11-25 Thread David Edelsohn
On Mon, Nov 24, 2014 at 10:18 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: Tested as usual... okay for trunk? Segher 2014-11-24 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/sysv4.h (ASM_OUTPUT_REG_POP): Use addi instead of addic.

Re: [PATCH] rs6000: Remove iorxor/IORXOR code attrs

2014-11-25 Thread David Edelsohn
On Mon, Nov 24, 2014 at 10:11 PM, Segher Boessenkool seg...@kernel.crashing.org wrote: As Richard pointed out, those do nothing more than code/CODE. Tested etc.; okay for trunk? Segher 2014-11-21 Segher Boessenkool seg...@kernel.crashing.org gcc/ * config/rs6000/rs6000.md

Re: [PATCH] AIX: Filename-based shared library versioning for libgcc_s

2014-11-25 Thread David Edelsohn
On Tue, Nov 11, 2014 at 10:42 AM, Michael Haubenwallner michael.haubenwall...@ssi-schaefer.com wrote: On 11/11/2014 04:02 PM, David Edelsohn wrote: Michael, Why does the configure change match with p*-*-aix... instead of power* or powerpc*? Yes, it's unique and will match, but why make

Re: patch to fix PR63527

2014-11-25 Thread David Edelsohn
This patch broke bootstrap on AIX /nasfarm/edelsohn/src/src/gcc/ira-lives.c:1149:36: error: 'REAL_PIC_OFFSET_TABLE_REGNUM' was not declared in this scope = (find_regno_fusage (insn, USE, REAL_PIC_OFFSET_TABLE_REGNUM) ^ In file included from

Re: patch to fix PR63527

2014-11-25 Thread David Edelsohn
It looks like you already fixed it. I had been looking for the patch on GCC Patches. - David On Tue, Nov 25, 2014 at 9:08 PM, David Edelsohn dje@gmail.com wrote: This patch broke bootstrap on AIX /nasfarm/edelsohn/src/src/gcc/ira-lives.c:1149:36: error: 'REAL_PIC_OFFSET_TABLE_REGNUM

Re: [RS6000] Fix -mlongcall with nested functions on AIX

2014-11-24 Thread David Edelsohn
[Please explicitly copy me on relevant patches] 2014-10-17 Eric Botcazou ebotca...@adacore.com * config/rs6000/rs6000.c (rs6000_call_aix): For the AIX ABI, do not load the static chain if the call was originally direct. 2014-10-17 Eric Botcazou ebotca...@adacore.com *

[PATCH, committed] AIX gcc.dg testsuite patches

2014-11-23 Thread David Edelsohn
This fixes a few more testsuite failures on AIX. -fcompare-debug does not work correctly on AIX and some vector tests generate extra warnings about use of a non-standard ABI. Bootstrapped on powerpc-ibm-aix7.1.0.0 Thanks, David * gcc.dg/autopar/pr46799.c: XFAIL on AIX. *

[PATCH, PR c++/58561] dbxout.c and TEMPLATE_TYPE_PARM

2014-11-23 Thread David Edelsohn
The patch for PR c++/58561 fixed DWARF, but did not fix Stabs debugging. The follow patch at least stops G++ from ICE'ing for a return type of auto. I'm not sure what type of debugging stabs should generate, if it can represent it. Thanks, David PR c++/58561 * dbxout.c: Include stringpool.h

Re: [PATCH] PR63426 Fix various signed integer overflows

2014-11-20 Thread David Edelsohn
On Thu, Nov 20, 2014 at 8:27 AM, Markus Trippelsdorf mar...@trippelsdorf.de wrote: Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list. This patch fixes several of them. Tested on

Re: [PATCH] rs6000: Follow up for signed integer overflow fix

2014-11-20 Thread David Edelsohn
On Thu, Nov 20, 2014 at 1:58 PM, Markus Trippelsdorf mar...@trippelsdorf.de wrote: On 2014.11.20 at 19:44 +0100, Jakub Jelinek wrote: On Thu, Nov 20, 2014 at 07:41:43PM +0100, Markus Trippelsdorf wrote: 2014-11-20 Markus Trippelsdorf mar...@trippelsdorf.de * config/rs6000/rs6000.c

Re: [PATCH, rs6000] Fix PR63673 -- missing prototype for vec_vsx_ld/vec_vsx_st

2014-11-20 Thread David Edelsohn
On Thu, Nov 20, 2014 at 6:49 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63673 observes that vec_vsx_ld doesn't currently permit the base pointer to have a type of pointer to double, even though this is specified as legal in the GCC

Re: PATCH, PR 63965, rs6000, add support for scalar floating point in Altivec registers

2014-11-20 Thread David Edelsohn
On Thu, Nov 20, 2014 at 4:48 PM, Michael Meissner meiss...@linux.vnet.ibm.com wrote: This patch fixes the failures in the following tests if --with-cpu is not used to set the cpu to cpus with vsx enabled (power7/power8): gcc.target/powerpc/altivec-splat.c

Re: [PATCH] rs6000: Fix signed integer overflows

2014-11-19 Thread David Edelsohn
On Wed, Nov 19, 2014 at 10:24 AM, Markus Trippelsdorf mar...@trippelsdorf.de wrote: bootstrap-ubsan on gcc112 shows a couple of signed integer overflows: The fix was tested on powerpc64-unknown-linux-gnu. OK for trunk? Thank you. 2014-11-19 Markus Trippelsdorf mar...@trippelsdorf.de

Re: [PATCH, Pointer Bounds Checker, Builtins instrumentation 3/5] Expand instrumented builtin calls

2014-11-18 Thread David Edelsohn
On Tue, Nov 18, 2014 at 8:33 AM, Ilya Enkovich enkovich@gmail.com wrote: 2014-11-18 15:18 GMT+03:00 Richard Biener richard.guent...@gmail.com: On Tue, Nov 18, 2014 at 1:13 PM, Ilya Enkovich enkovich@gmail.com wrote: 2014-11-18 15:04 GMT+03:00 Richard Biener richard.guent...@gmail.com:

Re: [PATCH, Pointer Bounds Checker, Builtins instrumentation 3/5] Expand instrumented builtin calls

2014-11-18 Thread David Edelsohn
On Tue, Nov 18, 2014 at 9:07 AM, Richard Biener richard.guent...@gmail.com wrote: Can we emit this particular STABS piece in raw form then? Thus does it work to have sth like .stabs ... .string ... .stabs ... or whatever way to emit assembled data there? The stabstring debug

AIX libstdc++ failures

2014-11-18 Thread David Edelsohn
Jason, After your recent C++ patches from yesterday, I am encountering a huge number of libstdc++ failures on AIX preventing creation of executables. They all are of the form: /tmp/20141118/powerpc-ibm-aix7.1.0.0/libstdc++-v3/include/bits/regex_compiler.h: 424:31: in constexpr expansion of

<    7   8   9   10   11   12   13   14   15   16   >