public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization
@ 2015-03-18 3:52 anton at samba dot org
2015-03-18 7:26 ` [Bug target/65456] " trippels at gcc dot gnu.org
` (25 more replies)
0 siblings, 26 replies; 27+ messages in thread
From: anton at samba dot org @ 2015-03-18 3:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Bug ID: 65456
Summary: powerpc64le autovectorized copy loop missed
optimization
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: anton at samba dot org
Created attachment 35049
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35049&action=edit
Testcase pulled from valgrind
The attached copy loop (out of valgrind) produces some pretty bad code:
df8: e4 06 9e 78 rldicr r30,r4,0,59
dfc: e4 26 df 78 rldicr r31,r6,4,59
e00: 10 00 84 38 addi r4,r4,16
e04: 01 00 c6 38 addi r6,r6,1
e08: 99 f6 20 7c lxvd2x vs33,0,r30
e0c: 57 0a 21 f0 xxswapd vs33,vs33
e10: 2b 03 a1 11 vperm v13,v1,v0,v12
e14: 97 0c 01 f0 xxlor vs32,vs33,vs33
e18: 56 6a 0d f0 xxswapd vs0,vs45
e1c: 98 4f 1f 7c stxvd2x vs0,r31,r9
e20: d8 ff 00 42 bdnz df8 <memmove+0x6e8>
Since we are using VSX storage ops, we should just align the source and do
unaligned stores. That will remove the permute, and then the gcc pass to remove
redundant swaps should kick in and remove them too.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
@ 2015-03-18 7:26 ` trippels at gcc dot gnu.org
2015-03-18 7:34 ` [Bug target/65456] [5 Regression] " trippels at gcc dot gnu.org
` (24 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-18 7:26 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Could you please post the exact compiler invocation?
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] [5 Regression] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
2015-03-18 7:26 ` [Bug target/65456] " trippels at gcc dot gnu.org
@ 2015-03-18 7:34 ` trippels at gcc dot gnu.org
2015-03-18 7:50 ` [Bug target/65456] " trippels at gcc dot gnu.org
` (23 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-18 7:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2015-03-18
Target Milestone|--- |5.0
Summary|powerpc64le autovectorized |[5 Regression] powerpc64le
|copy loop missed |autovectorized copy loop
|optimization |missed optimization
Ever confirmed|0 |1
--- Comment #2 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Ah, I see it with -O3, -O2 is fine.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
2015-03-18 7:26 ` [Bug target/65456] " trippels at gcc dot gnu.org
2015-03-18 7:34 ` [Bug target/65456] [5 Regression] " trippels at gcc dot gnu.org
@ 2015-03-18 7:50 ` trippels at gcc dot gnu.org
2015-03-18 11:29 ` rguenth at gcc dot gnu.org
` (22 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-18 7:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|5.0 |---
Summary|[5 Regression] powerpc64le |powerpc64le autovectorized
|autovectorized copy loop |copy loop missed
|missed optimization |optimization
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
Not a regression, 4.9 with -mcpu=power8 produces the same code.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (2 preceding siblings ...)
2015-03-18 7:50 ` [Bug target/65456] " trippels at gcc dot gnu.org
@ 2015-03-18 11:29 ` rguenth at gcc dot gnu.org
2015-03-18 23:23 ` dje at gcc dot gnu.org
` (21 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-18 11:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Note the vectorizer has a slight preference to align stores.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (3 preceding siblings ...)
2015-03-18 11:29 ` rguenth at gcc dot gnu.org
@ 2015-03-18 23:23 ` dje at gcc dot gnu.org
2015-03-19 19:25 ` msebor at gcc dot gnu.org
` (20 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-18 23:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
David Edelsohn <dje at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at gcc dot gnu.org,
| |dje at gcc dot gnu.org,
| |wschmidt at gcc dot gnu.org
Target Milestone|--- |6.0
--- Comment #5 from David Edelsohn <dje at gcc dot gnu.org> ---
I assume that this is the known problem fixed with Bill's unaligned vector
patch.
https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00103.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (4 preceding siblings ...)
2015-03-18 23:23 ` dje at gcc dot gnu.org
@ 2015-03-19 19:25 ` msebor at gcc dot gnu.org
2015-03-19 22:52 ` anton at samba dot org
` (19 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: msebor at gcc dot gnu.org @ 2015-03-19 19:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #6 from Martin Sebor <msebor at gcc dot gnu.org> ---
Created attachment 35066
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35066&action=edit
Assembly emitted by gcc 5.0.0 20150319 after aplying the patch referenced in
comment #5.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (5 preceding siblings ...)
2015-03-19 19:25 ` msebor at gcc dot gnu.org
@ 2015-03-19 22:52 ` anton at samba dot org
2015-03-20 14:47 ` wschmidt at gcc dot gnu.org
` (18 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: anton at samba dot org @ 2015-03-19 22:52 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #7 from Anton Blanchard <anton at samba dot org> ---
Thanks Martin.
Bill: the swaps pass isn't catching our vectorised copy, I guess because of the
adds in the loop:
lxvd2x 0,9,4
addi 28,1,-48
add 6,9,10
xxpermdi 12,0,0,2
xxpermdi 12,12,12,2
stxvd2x 12,0,28
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (6 preceding siblings ...)
2015-03-19 22:52 ` anton at samba dot org
@ 2015-03-20 14:47 ` wschmidt at gcc dot gnu.org
2015-03-22 16:59 ` wschmidt at gcc dot gnu.org
` (17 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-20 14:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #8 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Pish, those adds shouldn't be the least bit relevant. I'll have a look.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (7 preceding siblings ...)
2015-03-20 14:47 ` wschmidt at gcc dot gnu.org
@ 2015-03-22 16:59 ` wschmidt at gcc dot gnu.org
2015-03-23 4:21 ` dje at gcc dot gnu.org
` (16 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-22 16:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Bill Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |wschmidt at gcc dot gnu.org
--- Comment #9 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
So, this can be viewed either as a phase-ordering problem or an expand problem;
probably the latter is more correct.
The swap optimization runs early in the RTL phases, shortly after expand. At
the time that it sees this computation, the RTL represents something more like
this:
lxvd2x 0,9,4
xxpermdi 12,0,0,2
[r18=high half of vs12]
[r19=low half of vs12]
std 18,0,28
std 19,8,28
(This is well before RA so I am making up register numbers for illustration
purposes.) The swap optimization doesn't know what to do when a vector is
split into pieces, so it punts here.
Later, in the split2 phase that runs after RA, the last four lines above are
recognized as a pattern that can be replaced by an stxvd2x in BE mode, or by an
xxswapd/stxvd2x in LE mode. This is how we end up with the code you see in the
final output.
The question is, why is the expander generating the two doubleword stores?
Probably because it thinks that we are ok generating unaligned doubleword
stores, but not ok generating unaligned quadword stores. In other words, there
is probably something in there that needs to be taught that unaligned vector
stores on P8 are better to use than moving pieces into GPRs and storing them
separately.
I will take on the investigation of this, but there are a few more urgent
things that need attention first. I expect this to be a fairly easy fix that
we'll be able to backport.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (8 preceding siblings ...)
2015-03-22 16:59 ` wschmidt at gcc dot gnu.org
@ 2015-03-23 4:21 ` dje at gcc dot gnu.org
2015-03-23 13:50 ` wschmidt at gcc dot gnu.org
` (15 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: dje at gcc dot gnu.org @ 2015-03-23 4:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #10 from David Edelsohn <dje at gcc dot gnu.org> ---
I believe that the choice to scalarize is based on the vector cost model.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (9 preceding siblings ...)
2015-03-23 4:21 ` dje at gcc dot gnu.org
@ 2015-03-23 13:50 ` wschmidt at gcc dot gnu.org
2015-03-28 2:19 ` wschmidt at gcc dot gnu.org
` (14 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-23 13:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #11 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
(In reply to David Edelsohn from comment #10)
> I believe that the choice to scalarize is based on the vector cost model.
Hm, that would be interesting. The applied patch changes the cost model to
favor the unaligned store on VSX. Might be a place where it should be using
the cost model but perhaps isn't? I'll look into it later this week.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (10 preceding siblings ...)
2015-03-23 13:50 ` wschmidt at gcc dot gnu.org
@ 2015-03-28 2:19 ` wschmidt at gcc dot gnu.org
2015-03-28 11:40 ` amodra at gmail dot com
` (13 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-28 2:19 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #13 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Changing the condition as follows produces a nice tight lxvd2x/stxvd2x loop in
all three places:
#define SLOW_UNALIGNED_ACCESS(MODE, ALIGN) \
(STRICT_ALIGNMENT \
|| (((MODE) == SFmode || (MODE) == DFmode || (MODE) == TFmode \
|| (MODE) == SDmode || (MODE) == DDmode || (MODE) == TDmode) \
&& (ALIGN) < 32) \
|| (!TARGET_P8_VECTOR \
&& (VECTOR_MODE_P ((MODE)) && (((int)(ALIGN)) < VECTOR_ALIGN (MODE)))))
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (11 preceding siblings ...)
2015-03-28 2:19 ` wschmidt at gcc dot gnu.org
@ 2015-03-28 11:40 ` amodra at gmail dot com
2015-03-29 18:24 ` wschmidt at gcc dot gnu.org
` (12 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: amodra at gmail dot com @ 2015-03-28 11:40 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Alan Modra <amodra at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |amodra at gmail dot com
--- Comment #14 from Alan Modra <amodra at gmail dot com> ---
This part
|| (((MODE) == SFmode || (MODE) == DFmode || (MODE) == TFmode \
|| (MODE) == SDmode || (MODE) == DDmode || (MODE) == TDmode) \
&& (ALIGN) < 32) \
is wrong for power8 too. See "POWER8 Processor User’s Manual for the
Single-Chip Module", section 2.1.4 Storage Access Alignment Support Overview.
According to that, alignment interrupt does not occur on misaligned floating
point loads and stores, except for the quadword insns. Which seems to
contradict "Power ISA Version 2.07", section 6.5.8 Alignment Interrupt. I
guess the ISA doc needs another update.
>From gcc-bugs-return-482125-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Mar 28 04:17:49 2015
Return-Path: <gcc-bugs-return-482125-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 44393 invoked by alias); 28 Mar 2015 04:17:48 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 44353 invoked by uid 55); 28 Mar 2015 04:17:45 -0000
From: "timshen at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug libstdc++/65420] Enumerators in std::regex_constants should be constexpr variables instead
Date: Sat, 28 Mar 2015 11:48:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: libstdc++
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: timshen at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65420-4-Tk3xcJjcih@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65420-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65420-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-03/txt/msg03269.txt.bz2
Content-length: 581
https://gcc.gnu.org/bugzilla/show_bug.cgi?ide420
--- Comment #1 from Tim Shen <timshen at gcc dot gnu.org> ---
Author: timshen
Date: Sat Mar 28 04:17:12 2015
New Revision: 221750
URL: https://gcc.gnu.org/viewcvs?rev"1750&root=gcc&view=rev
Log:
PR libstdc++/65420
* include/bits/regex_constants.h: Use constexpr variables for flags.
* testsuite/28_regex/constants/constexpr.cc: New testcase.
Added:
trunk/libstdc++-v3/testsuite/28_regex/constants/constexpr.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/regex_constants.h
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (12 preceding siblings ...)
2015-03-28 11:40 ` amodra at gmail dot com
@ 2015-03-29 18:24 ` wschmidt at gcc dot gnu.org
2015-03-29 19:30 ` wschmidt at gcc dot gnu.org
` (11 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-29 18:24 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #15 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
That last bit also needs an update to the table in ISA 2.07 II.2, p. 754.
I'm planning to include the change for the vector alignment piece in my P8
unaligned vectors patch, since it seems relevant there. I think we should
probably fix this other bit separately, as that will likely need some more
extensive testing.
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (13 preceding siblings ...)
2015-03-29 18:24 ` wschmidt at gcc dot gnu.org
@ 2015-03-29 19:30 ` wschmidt at gcc dot gnu.org
2015-04-23 0:22 ` wschmidt at gcc dot gnu.org
` (10 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-03-29 19:30 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #16 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Proposed patch added to the general P8 unaligned vector patch:
https://gcc.gnu.org/ml/gcc-patches/2015-03/msg01502.html
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (14 preceding siblings ...)
2015-03-29 19:30 ` wschmidt at gcc dot gnu.org
@ 2015-04-23 0:22 ` wschmidt at gcc dot gnu.org
2015-04-23 21:04 ` wschmidt at gcc dot gnu.org
` (9 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-04-23 0:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #17 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Author: wschmidt
Date: Thu Apr 23 00:21:39 2015
New Revision: 222349
URL: https://gcc.gnu.org/viewcvs?rev=222349&root=gcc&view=rev
Log:
[gcc]
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* config/rs6000/rs6000.c (rs6000_option_override_internal): For
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
option.
(rs6000_builtin_mask_for_load): Return 0 for targets with
efficient unaligned VSX accesses so that the vectorizer will use
direct unaligned loads.
(rs6000_builtin_support_vector_misalignment): Always return true
for targets with efficient unaligned VSX accesses.
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
stores on targets with efficient unaligned VSX accesses is almost
always the same as the cost of an aligned load or store, so model
it that way.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
unaligned vectors if we have efficient unaligned VSX accesses.
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
undocumented option.
[gcc/testsuite]
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
vect_hw_misalign.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
account for POWER8, where peeling for alignment is not needed.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
* gcc.dg/vect/pr16105.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr33804.c: Likewise.
* gcc.dg/vect/pr33953.c: Likewise.
* gcc.dg/vect/pr56787.c: Likewise.
* gcc.dg/vect/pr58508.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-105-bit-array.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
POWER8.
* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
&& { ! vect_hw_misalign }.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-75-big-array.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-96.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
* gcc.dg/vect/vect-outer-fir.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/vect-pre-interact.c: Likewise.
* gcc.target/powerpc/pr65456.c: New test.
* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gfortran.dg/vect/vect-3.f90: Likewise.
* gfortran.dg/vect/vect-4.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Return 1 for POWER8.
(check_effective_target_vect_hw_misalign): Return 1 for POWER8.
Added:
trunk/gcc/testsuite/gcc.target/powerpc/pr65456.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
trunk/gcc/config/rs6000/rs6000.h
trunk/gcc/config/rs6000/rs6000.opt
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-24.c
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-25.c
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-32.c
trunk/gcc/testsuite/gcc.dg/vect/bb-slp-9.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c
trunk/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c
trunk/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
trunk/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6-global.c
trunk/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c
trunk/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-3.c
trunk/gcc/testsuite/gcc.dg/vect/pr16105.c
trunk/gcc/testsuite/gcc.dg/vect/pr20122.c
trunk/gcc/testsuite/gcc.dg/vect/pr33804.c
trunk/gcc/testsuite/gcc.dg/vect/pr33953.c
trunk/gcc/testsuite/gcc.dg/vect/pr56787.c
trunk/gcc/testsuite/gcc.dg/vect/pr58508.c
trunk/gcc/testsuite/gcc.dg/vect/slp-25.c
trunk/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
trunk/gcc/testsuite/gcc.dg/vect/vect-105.c
trunk/gcc/testsuite/gcc.dg/vect/vect-27.c
trunk/gcc/testsuite/gcc.dg/vect/vect-29.c
trunk/gcc/testsuite/gcc.dg/vect/vect-33.c
trunk/gcc/testsuite/gcc.dg/vect/vect-42.c
trunk/gcc/testsuite/gcc.dg/vect/vect-44.c
trunk/gcc/testsuite/gcc.dg/vect/vect-48.c
trunk/gcc/testsuite/gcc.dg/vect/vect-50.c
trunk/gcc/testsuite/gcc.dg/vect/vect-52.c
trunk/gcc/testsuite/gcc.dg/vect/vect-56.c
trunk/gcc/testsuite/gcc.dg/vect/vect-60.c
trunk/gcc/testsuite/gcc.dg/vect/vect-72.c
trunk/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c
trunk/gcc/testsuite/gcc.dg/vect/vect-75.c
trunk/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c
trunk/gcc/testsuite/gcc.dg/vect/vect-77-global.c
trunk/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c
trunk/gcc/testsuite/gcc.dg/vect/vect-78-global.c
trunk/gcc/testsuite/gcc.dg/vect/vect-93.c
trunk/gcc/testsuite/gcc.dg/vect/vect-95.c
trunk/gcc/testsuite/gcc.dg/vect/vect-96.c
trunk/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
trunk/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c
trunk/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
trunk/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
trunk/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-fir-big-array.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb-big-array.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
trunk/gcc/testsuite/gcc.dg/vect/vect-outer-fir.c
trunk/gcc/testsuite/gcc.dg/vect/vect-peel-3.c
trunk/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
trunk/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
trunk/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
trunk/gcc/testsuite/gfortran.dg/vect/vect-2.f90
trunk/gcc/testsuite/gfortran.dg/vect/vect-3.f90
trunk/gcc/testsuite/gfortran.dg/vect/vect-4.f90
trunk/gcc/testsuite/gfortran.dg/vect/vect-5.f90
trunk/gcc/testsuite/lib/target-supports.exp
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (15 preceding siblings ...)
2015-04-23 0:22 ` wschmidt at gcc dot gnu.org
@ 2015-04-23 21:04 ` wschmidt at gcc dot gnu.org
2015-04-24 13:45 ` wschmidt at gcc dot gnu.org
` (8 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-04-23 21:04 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #18 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Author: wschmidt
Date: Thu Apr 23 21:03:40 2015
New Revision: 222386
URL: https://gcc.gnu.org/viewcvs?rev=222386&root=gcc&view=rev
Log:
[gcc]
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* config/rs6000/rs6000.c (rs6000_option_override_internal): For
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
option.
(rs6000_builtin_mask_for_load): Return 0 for targets with
efficient unaligned VSX accesses so that the vectorizer will use
direct unaligned loads.
(rs6000_builtin_support_vector_misalignment): Always return true
for targets with efficient unaligned VSX accesses.
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
stores on targets with efficient unaligned VSX accesses is almost
always the same as the cost of an aligned load or store, so model
it that way.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
unaligned vectors if we have efficient unaligned VSX accesses.
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
undocumented option.
[gcc/testsuite]
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
vect_hw_misalign.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
account for POWER8, where peeling for alignment is not needed.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
* gcc.dg/vect/pr16105.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr33804.c: Likewise.
* gcc.dg/vect/pr33953.c: Likewise.
* gcc.dg/vect/pr56787.c: Likewise.
* gcc.dg/vect/pr58508.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-105-bit-array.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
POWER8.
* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
&& { ! vect_hw_misalign }.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-75-big-array.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-96.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
* gcc.dg/vect/vect-outer-fir.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/vect-pre-interact.c: Likewise.
* gcc.target/powerpc/pr65456.c: New test.
* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gfortran.dg/vect/vect-3.f90: Likewise.
* gfortran.dg/vect/vect-4.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Return 1 for POWER8.
(check_effective_target_vect_hw_misalign): Return 1 for POWER8.
Backport from mainline r222372
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
Modified:
branches/gcc-5-branch/gcc/ChangeLog
branches/gcc-5-branch/gcc/config/rs6000/rs6000.c
branches/gcc-5-branch/gcc/config/rs6000/rs6000.h
branches/gcc-5-branch/gcc/config/rs6000/rs6000.opt
branches/gcc-5-branch/gcc/testsuite/ChangeLog
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/bb-slp-24.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/bb-slp-25.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/bb-slp-32.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/bb-slp-9.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6-global.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-3.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr16105.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr20122.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr33804.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr33953.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr56787.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/pr58508.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/slp-25.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-105.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-27.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-29.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-33.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-42.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-44.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-48.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-50.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-52.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-56.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-60.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-72.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-75.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-77-global.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-78-global.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-93.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-95.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-96.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-big-array.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb-big-array.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
branches/gcc-5-branch/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/vect/vect-2.f90
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/vect/vect-3.f90
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/vect/vect-4.f90
branches/gcc-5-branch/gcc/testsuite/gfortran.dg/vect/vect-5.f90
branches/gcc-5-branch/gcc/testsuite/lib/target-supports.exp
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (16 preceding siblings ...)
2015-04-23 21:04 ` wschmidt at gcc dot gnu.org
@ 2015-04-24 13:45 ` wschmidt at gcc dot gnu.org
2015-04-24 20:17 ` wschmidt at gcc dot gnu.org
` (7 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-04-24 13:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #19 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Author: wschmidt
Date: Fri Apr 24 13:45:08 2015
New Revision: 222412
URL: https://gcc.gnu.org/viewcvs?rev=222412&root=gcc&view=rev
Log:
[gcc]
2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* config/rs6000/rs6000.c (rs6000_option_override_internal): For
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
option.
(rs6000_builtin_mask_for_load): Return 0 for targets with
efficient unaligned VSX accesses so that the vectorizer will use
direct unaligned loads.
(rs6000_builtin_support_vector_misalignment): Always return true
for targets with efficient unaligned VSX accesses.
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
stores on targets with efficient unaligned VSX accesses is almost
always the same as the cost of an aligned load or store, so model
it that way.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
unaligned vectors if we have efficient unaligned VSX accesses.
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
undocumented option.
[gcc/testsuite]
2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gcc.dg/vect/bb-slp-9.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
vect_hw_misalign.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
account for POWER8, where peeling for alignment is not needed.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-2.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-3.c: Likewise.
* gcc.dg/vect/pr16105.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr33804.c: Likewise.
* gcc.dg/vect/pr33953.c: Likewise.
* gcc.dg/vect/pr56787.c: Likewise.
* gcc.dg/vect/pr58508.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-105-bit-array.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
POWER8.
* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
&& { ! vect_hw_misalign }.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-75-big-array.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-96.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
* gcc.dg/vect/vect-outer-fir.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/vect-pre-interact.c: Likewise.
* gcc.target/powerpc/pr65456.c: New test.
* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gfortran.dg/vect/vect-3.f90: Likewise.
* gfortran.dg/vect/vect-4.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Return 1 for POWER8.
(check_effective_target_vect_hw_misalign): Return 1 for POWER8.
Backport from mainline r222372
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
Added:
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/pr65456.c
Modified:
branches/gcc-4_9-branch/gcc/ChangeLog
branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.h
branches/gcc-4_9-branch/gcc/config/rs6000/rs6000.opt
branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/bb-slp-24.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/bb-slp-25.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/bb-slp-32.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/bb-slp-9.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6-global.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-2.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr16105.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr20122.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr33804.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr33953.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr56787.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr58508.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/slp-25.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-105.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-27.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-29.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-33.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-42.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-44.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-48.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-50.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-52.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-56.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-60.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-72.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-75.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-77-global.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-78-global.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-93.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-95.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-96.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-big-array.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb-big-array.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
branches/gcc-4_9-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/vect/vect-2.f90
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/vect/vect-3.f90
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/vect/vect-4.f90
branches/gcc-4_9-branch/gcc/testsuite/gfortran.dg/vect/vect-5.f90
branches/gcc-4_9-branch/gcc/testsuite/lib/target-supports.exp
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (17 preceding siblings ...)
2015-04-24 13:45 ` wschmidt at gcc dot gnu.org
@ 2015-04-24 20:17 ` wschmidt at gcc dot gnu.org
2015-04-24 20:46 ` wschmidt at gcc dot gnu.org
` (6 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-04-24 20:17 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #20 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Author: wschmidt
Date: Fri Apr 24 20:17:10 2015
New Revision: 222423
URL: https://gcc.gnu.org/viewcvs?rev=222423&root=gcc&view=rev
Log:
[gcc]
2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* config/rs6000/rs6000.c (rs6000_option_override_internal): For
VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
option.
(rs6000_builtin_mask_for_load): Return 0 for targets with
efficient unaligned VSX accesses so that the vectorizer will use
direct unaligned loads.
(rs6000_builtin_support_vector_misalignment): Always return true
for targets with efficient unaligned VSX accesses.
(rs6000_builtin_vectorization_cost): Cost of unaligned loads and
stores on targets with efficient unaligned VSX accesses is almost
always the same as the cost of an aligned load or store, so model
it that way.
* config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
unaligned vectors if we have efficient unaligned VSX accesses.
* config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
undocumented option.
[gcc/testsuite]
2015-04-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Backport from mainline r222349
2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
PR target/65456
* gcc.dg/vect/bb-slp-24.c: Exclude test for POWER8.
* gcc.dg/vect/bb-slp-25.c: Likewise.
* gcc.dg/vect/bb-slp-29.c: Likewise.
* gcc.dg/vect/bb-slp-9.c: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c: Exclude test for
vect_hw_misalign.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Likewise.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Adjust tests to
account for POWER8, where peeling for alignment is not needed.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
* gcc.dg.vect.if-cvt-stores-vect-ifcvt-18.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6-global.c: Likewise.
* gcc.dg/vect/no-scevccp-outer-6.c: Likewise.
* gcc.dg/vect/no-vfa-vect-43.c: Likewise.
* gcc.dg/vect/no-vfa-vect-57.c: Likewise.
* gcc.dg/vect/no-vfa-vect-61.c: Likewise.
* gcc.dg/vect/no-vfa-vect-depend-1.c: Likewise.
* gcc.dg/vect/pr16105.c: Likewise.
* gcc.dg/vect/pr20122.c: Likewise.
* gcc.dg/vect/pr33804.c: Likewise.
* gcc.dg/vect/pr33953.c: Likewise.
* gcc.dg/vect/slp-25.c: Likewise.
* gcc.dg/vect/vect-105-bit-array.c: Likewise.
* gcc.dg/vect/vect-105.c: Likewise.
* gcc.dg/vect/vect-27.c: Likewise.
* gcc.dg/vect/vect-29.c: Likewise.
* gcc.dg/vect/vect-33.c: Exclude unaligned access test for
POWER8.
* gcc.dg/vect/vect-42.c: Replace vect_no_align with vect_no_align
&& { ! vect_hw_misalign }.
* gcc.dg/vect/vect-44.c: Likewise.
* gcc.dg/vect/vect-48.c: Likewise.
* gcc.dg/vect/vect-50.c: Likewise.
* gcc.dg/vect/vect-52.c: Likewise.
* gcc.dg/vect/vect-56.c: Likewise.
* gcc.dg/vect/vect-60.c: Likewise.
* gcc.dg/vect/vect-72.c: Likewise.
* gcc.dg/vect/vect-75-big-array.c: Likewise.
* gcc.dg/vect/vect-75.c: Likewise.
* gcc.dg/vect/vect-77-alignchecks.c: Likewise.
* gcc.dg/vect/vect-77-global.c: Likewise.
* gcc.dg/vect/vect-78-alignchecks.c: Likewise.
* gcc.dg/vect/vect-78-global.c: Likewise.
* gcc.dg/vect/vect-93.c: Likewise.
* gcc.dg/vect/vect-95.c: Likewise.
* gcc.dg/vect/vect-96.c: Likewise.
* gcc.dg/vect/vect-cond-1.c: Likewise.
* gcc.dg/vect/vect-cond-3.c: Likewise.
* gcc.dg/vect/vect-cond-4.c: Likewise.
* gcc.dg/vect/vect-cselim-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-1.c: Likewise.
* gcc.dg/vect/vect-multitypes-3.c: Likewise.
* gcc.dg/vect/vect-multitypes-4.c: Likewise.
* gcc.dg/vect/vect-multitypes-6.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-1.c: Likewise.
* gcc.dg/vect/vect-nest-cycle-2.c: Likewise.
* gcc.dg/vect/vect-outer-3a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-3a.c: Likewise.
* gcc.dg/vect/vect-outer-5.c: Likewise.
* gcc.dg/vect/vect-outer-fir-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-fir-lb.c: Likewise.
* gcc.dg/vect/vect-outer-fir.c: Likewise.
* gcc.dg/vect/vect-peel-3.c: Likewise.
* gcc.dg/vect/vect-peel-4.c: Likewise.
* gcc.dg/vect/vect-pre-interact.c: Likewise.
* gcc.target/powerpc/pr65456.c: New test.
* gcc.target/powerpc/vsx-vectorize-2.c: Exclude test for POWER8.
* gcc.target/powerpc/vsx-vectorize-4.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-6.c: Likewise.
* gcc.target/powerpc/vsx-vectorize-7.c: Likewise.
* gfortran.dg/vect/vect-2.f90: Replace vect_no_align with
vect_no_align && { ! vect_hw_misalign }.
* gfortran.dg/vect/vect-3.f90: Likewise.
* gfortran.dg/vect/vect-4.f90: Likewise.
* gfortran.dg/vect/vect-5.f90: Likewise.
* lib/target-supports.exp (check_effective_target_vect_no_align):
Return 1 for POWER8.
(check_effective_target_vect_hw_misalign): Return 1 for POWER8.
Backport from mainline r222372
2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace
vect_no_align with vect_no_align && { ! vect_hw_misalign }.
Added:
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/pr65456.c
Modified:
branches/gcc-4_8-branch/gcc/ChangeLog
branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.c
branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.h
branches/gcc-4_8-branch/gcc/config/rs6000/rs6000.opt
branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-24.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-25.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-29.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/bb-slp-9.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-slp-33.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6-global.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-6.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-43.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-57.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-61.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/no-vfa-vect-depend-1.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr16105.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr20122.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr33804.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr33953.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/slp-25.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-105-big-array.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-105.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-27.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-29.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-33.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-42.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-44.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-48.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-50.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-52.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-56.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-60.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-72.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-75-big-array.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-75.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-77-alignchecks.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-77-global.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-78-alignchecks.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-78-global.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-93.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-95.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-96.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-cselim-1.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-1.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-3.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-4.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-multitypes-6.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a-big-array.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-3a.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-5.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-big-array.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb-big-array.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir-lb.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-outer-fir.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-peel-3.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-peel-4.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/vect-pre-interact.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-2.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-4.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-6.c
branches/gcc-4_8-branch/gcc/testsuite/gcc.target/powerpc/vsx-vectorize-7.c
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/pr32380.f
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-2.f90
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-3.f90
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-4.f90
branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/vect/vect-5.f90
branches/gcc-4_8-branch/gcc/testsuite/lib/target-supports.exp
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (18 preceding siblings ...)
2015-04-24 20:17 ` wschmidt at gcc dot gnu.org
@ 2015-04-24 20:46 ` wschmidt at gcc dot gnu.org
2015-05-04 14:50 ` ro at gcc dot gnu.org
` (5 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-04-24 20:46 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Bill Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
--- Comment #21 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Work is complete. Anton, thanks for the report!
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (19 preceding siblings ...)
2015-04-24 20:46 ` wschmidt at gcc dot gnu.org
@ 2015-05-04 14:50 ` ro at gcc dot gnu.org
2015-05-04 14:51 ` ro at gcc dot gnu.org
` (4 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: ro at gcc dot gnu.org @ 2015-05-04 14:50 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
CC| |ro at gcc dot gnu.org
Resolution|FIXED |---
--- Comment #22 from Rainer Orth <ro at gcc dot gnu.org> ---
I suspect the change to gcc.dg/vect/bb-slp-32.c caused the test to XPASS on
Solaris/SPARC. Attaching the dump.
Rainer
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (20 preceding siblings ...)
2015-05-04 14:50 ` ro at gcc dot gnu.org
@ 2015-05-04 14:51 ` ro at gcc dot gnu.org
2015-05-04 20:56 ` wschmidt at gcc dot gnu.org
` (3 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: ro at gcc dot gnu.org @ 2015-05-04 14:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #23 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 35456
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35456&action=edit
bb-slp-32.c.141t.slp2 dump
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (21 preceding siblings ...)
2015-05-04 14:51 ` ro at gcc dot gnu.org
@ 2015-05-04 20:56 ` wschmidt at gcc dot gnu.org
2015-05-05 13:37 ` ro at CeBiTec dot Uni-Bielefeld.DE
` (2 subsequent siblings)
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-05-04 20:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #24 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
No, I don't think so. The same change was made in GCC 4.9, and it didn't cause
it to XPASS there (looking at gcc-testresults). Also, my change restricted the
number of cases for which a test is expected to fail, rather than adding cases,
so if it XPASSes now, it should have XPASSed prior to the change.
Have you bisected to see which revision corresponds to the regression?
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (22 preceding siblings ...)
2015-05-04 20:56 ` wschmidt at gcc dot gnu.org
@ 2015-05-05 13:37 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-05-06 11:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-05-06 12:07 ` wschmidt at gcc dot gnu.org
25 siblings, 0 replies; 27+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-05-05 13:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #25 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #24 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
> No, I don't think so. The same change was made in GCC 4.9, and it didn't cause
> it to XPASS there (looking at gcc-testresults). Also, my change restricted the
> number of cases for which a test is expected to fail, rather than adding cases,
> so if it XPASSes now, it should have XPASSed prior to the change.
>
> Have you bisected to see which revision corresponds to the regression?
Not yet: those sparc boxes are slow, and it will take ages. I'll check
if I can reproduce in a cross compiler.
Rainer
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (23 preceding siblings ...)
2015-05-05 13:37 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-05-06 11:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-05-06 12:07 ` wschmidt at gcc dot gnu.org
25 siblings, 0 replies; 27+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-05-06 11:34 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
--- Comment #26 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #25 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
> Uni-Bielefeld.DE> ---
[...]
> Not yet: those sparc boxes are slow, and it will take ages. I'll check
> if I can reproduce in a cross compiler.
I can, and a reghunt determined that the last patch for PR
tree-optimization/62283 caused the XPASS.
Rainer
^ permalink raw reply [flat|nested] 27+ messages in thread
* [Bug target/65456] powerpc64le autovectorized copy loop missed optimization
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
` (24 preceding siblings ...)
2015-05-06 11:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-05-06 12:07 ` wschmidt at gcc dot gnu.org
25 siblings, 0 replies; 27+ messages in thread
From: wschmidt at gcc dot gnu.org @ 2015-05-06 12:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65456
Bill Schmidt <wschmidt at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution|--- |FIXED
--- Comment #27 from Bill Schmidt <wschmidt at gcc dot gnu.org> ---
Re-closing.
^ permalink raw reply [flat|nested] 27+ messages in thread
end of thread, other threads:[~2015-05-06 12:07 UTC | newest]
Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-18 3:52 [Bug target/65456] New: powerpc64le autovectorized copy loop missed optimization anton at samba dot org
2015-03-18 7:26 ` [Bug target/65456] " trippels at gcc dot gnu.org
2015-03-18 7:34 ` [Bug target/65456] [5 Regression] " trippels at gcc dot gnu.org
2015-03-18 7:50 ` [Bug target/65456] " trippels at gcc dot gnu.org
2015-03-18 11:29 ` rguenth at gcc dot gnu.org
2015-03-18 23:23 ` dje at gcc dot gnu.org
2015-03-19 19:25 ` msebor at gcc dot gnu.org
2015-03-19 22:52 ` anton at samba dot org
2015-03-20 14:47 ` wschmidt at gcc dot gnu.org
2015-03-22 16:59 ` wschmidt at gcc dot gnu.org
2015-03-23 4:21 ` dje at gcc dot gnu.org
2015-03-23 13:50 ` wschmidt at gcc dot gnu.org
2015-03-28 2:19 ` wschmidt at gcc dot gnu.org
2015-03-28 11:40 ` amodra at gmail dot com
2015-03-29 18:24 ` wschmidt at gcc dot gnu.org
2015-03-29 19:30 ` wschmidt at gcc dot gnu.org
2015-04-23 0:22 ` wschmidt at gcc dot gnu.org
2015-04-23 21:04 ` wschmidt at gcc dot gnu.org
2015-04-24 13:45 ` wschmidt at gcc dot gnu.org
2015-04-24 20:17 ` wschmidt at gcc dot gnu.org
2015-04-24 20:46 ` wschmidt at gcc dot gnu.org
2015-05-04 14:50 ` ro at gcc dot gnu.org
2015-05-04 14:51 ` ro at gcc dot gnu.org
2015-05-04 20:56 ` wschmidt at gcc dot gnu.org
2015-05-05 13:37 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-05-06 11:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-05-06 12:07 ` wschmidt at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).