public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
@ 2014-10-02  7:52 bernd.edlinger at hotmail dot de
  2014-10-06 12:09 ` [Bug testsuite/63439] " rguenth at gcc dot gnu.org
                   ` (17 more replies)
  0 siblings, 18 replies; 19+ messages in thread
From: bernd.edlinger at hotmail dot de @ 2014-10-02  7:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

            Bug ID: 63439
           Summary: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect
                    "Alignment of access forced using peeling"
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bernd.edlinger at hotmail dot de

Obtained from SVN: trunk revision 215672

Configured with: ../gcc-5-20140928/configure
--prefix=/home/ed/gnu/arm-linux-gnueabihf --enable-languages=all,ada,go,obj-c++
--with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16
--with-float=hard
Thread model: posix
gcc version 5.0.0 20140928 (experimental) (GCC) 


FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced
using peeling"
FAIL: gcc.dg/vect/vect-33.c -flto -ffat-lto-objects  scan-tree-dump vect
"Alignment of access forced using peeling"


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
@ 2014-10-06 12:09 ` rguenth at gcc dot gnu.org
  2014-10-06 13:00 ` bernd.edlinger at hotmail dot de
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-10-06 12:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |armv7-a
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2014-10-06
          Component|target                      |testsuite
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Please attach the vectorizer dump file.  The testsuite needs adjustment after
the vectorizer now figures out that peeling for alignment isn't profitable
if then the vectorized loop doesn't run at all.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
  2014-10-06 12:09 ` [Bug testsuite/63439] " rguenth at gcc dot gnu.org
@ 2014-10-06 13:00 ` bernd.edlinger at hotmail dot de
  2015-01-22 13:14 ` ro at gcc dot gnu.org
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: bernd.edlinger at hotmail dot de @ 2014-10-06 13:00 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #2 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
Created attachment 33652
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=33652&action=edit
vect-33.c.116t.vect


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
  2014-10-06 12:09 ` [Bug testsuite/63439] " rguenth at gcc dot gnu.org
  2014-10-06 13:00 ` bernd.edlinger at hotmail dot de
@ 2015-01-22 13:14 ` ro at gcc dot gnu.org
  2015-01-22 13:17 ` [Bug testsuite/63439] [5 Regression] " rguenth at gcc dot gnu.org
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-22 13:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ro at gcc dot gnu.org

--- Comment #3 from Rainer Orth <ro at gcc dot gnu.org> ---
Also FAILs on Solaris/SPARC:

FAIL: gcc.dg/vect/vect-33.c -flto -ffat-lto-objects  scan-tree-dump-times vect
"Alignment of access forced using versioning" 1
FAIL: gcc.dg/vect/vect-33.c scan-tree-dump-times vect "Alignment of access
forced using versioning" 1

  Rainer


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (2 preceding siblings ...)
  2015-01-22 13:14 ` ro at gcc dot gnu.org
@ 2015-01-22 13:17 ` rguenth at gcc dot gnu.org
  2015-01-22 13:18 ` ro at gcc dot gnu.org
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-22 13:17 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|---                         |5.0
            Summary|FAIL: gcc.dg/vect/vect-33.c |[5 Regression] FAIL:
                   |scan-tree-dump vect         |gcc.dg/vect/vect-33.c
                   |"Alignment of access forced |scan-tree-dump vect
                   |using peeling"              |"Alignment of access forced
                   |                            |using peeling"


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (3 preceding siblings ...)
  2015-01-22 13:17 ` [Bug testsuite/63439] [5 Regression] " rguenth at gcc dot gnu.org
@ 2015-01-22 13:18 ` ro at gcc dot gnu.org
  2015-01-23 10:54 ` rguenth at gcc dot gnu.org
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-22 13:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #4 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 34530
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34530&action=edit
sparc vectorizer dump


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (4 preceding siblings ...)
  2015-01-22 13:18 ` ro at gcc dot gnu.org
@ 2015-01-23 10:54 ` rguenth at gcc dot gnu.org
  2015-01-23 11:01 ` rguenth at gcc dot gnu.org
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-23 10:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
So arm uses v16qi, but:

/* { dg-final { scan-tree-dump "Alignment of access forced using peeling"
"vect" { target { vector_alignment_reachable && vect64 } } } } */

so arm also is vect64 (v16qi is 128 bits).  arm vectorizes with v16qi and
unaligned accesses.  But

/* { dg-final { scan-tree-dump "Vectorizing an unaligned access" "vect" {
target { vect_hw_misalign && { ! vect64 } } } } } */

so the issue is that we don't have a vect128 target capability as if
vect_hw_misaling && vect128 we'd expect to vectorize an unaligned access.
Only if vect64 && !vect128 we'd expect to peel for alignment.

Luckily we have vect_multiple_sizes so I can adjust it for arm using that.


For SPARC we use v8qi and peel for alignment.  That should be handled
but it looks like SPARC is not vect64 for whatever reason :/

Rainer, can you please make SPARC vect64?


So I expect

Index: testsuite/gcc.dg/vect/vect-33.c
===================================================================
--- testsuite/gcc.dg/vect/vect-33.c     (revision 220030)
+++ testsuite/gcc.dg/vect/vect-33.c     (working copy)
@@ -38,7 +38,7 @@ int main (void)


 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect"  } } */
-/* { dg-final { scan-tree-dump "Vectorizing an unaligned access" "vect" {
target { vect_hw_misalign && { ! vect64 } } } } } */
-/* { dg-final { scan-tree-dump "Alignment of access forced using peeling"
"vect" { target { vector_alignment_reachable && vect64 } } } } */
+/* { dg-final { scan-tree-dump "Vectorizing an unaligned access" "vect" {
target { vect_hw_misalign && { {! vect64} || vect_multiple_sizes } } } } } */
+/* { dg-final { scan-tree-dump "Alignment of access forced using peeling"
"vect" { target { vector_alignment_reachable && { vect64 && {!
vect_multiple_sizes} } } } } } */
 /* { dg-final { scan-tree-dump-times "Alignment of access forced using
versioning" 1 "vect" { target { { {! vector_alignment_reachable} || {! vect64}
} && {! vect_hw_misalign} } } } } */
 /* { dg-final { cleanup-tree-dump "vect" } } */

to fix it for arm and also work for fixed SPARC.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (5 preceding siblings ...)
  2015-01-23 10:54 ` rguenth at gcc dot gnu.org
@ 2015-01-23 11:01 ` rguenth at gcc dot gnu.org
  2015-01-23 11:04 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-23 11:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Jan 23 11:00:10 2015
New Revision: 220033

URL: https://gcc.gnu.org/viewcvs?rev=220033&root=gcc&view=rev
Log:
2015-01-23  Richard Biener  <rguenther@suse.de>

    PR testsuite/63439
    * gcc.dg/vect/vect-33.c: Adjust target selectors for v16qi
    vectorization on vect64 targets.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/vect-33.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (6 preceding siblings ...)
  2015-01-23 11:01 ` rguenth at gcc dot gnu.org
@ 2015-01-23 11:04 ` rguenth at gcc dot gnu.org
  2015-01-23 12:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-23 11:04 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
So SPARC has

static machine_mode
sparc_preferred_simd_mode (machine_mode mode)
{
  if (TARGET_VIS)
    switch (mode)
      {
      case SImode:
        return V2SImode;
      case HImode:
        return V4HImode;
      case QImode:
        return V8QImode;

      default:;
      }

  return word_mode;
}

which means it is unconditionally vect64 (I assume word_mode is DImode).


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (7 preceding siblings ...)
  2015-01-23 11:04 ` rguenth at gcc dot gnu.org
@ 2015-01-23 12:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-23 12:32 ` ro at gcc dot gnu.org
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-23 12:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #8 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
[...]
> For SPARC we use v8qi and peel for alignment.  That should be handled
> but it looks like SPARC is not vect64 for whatever reason :/
>
> Rainer, can you please make SPARC vect64?

When I do this, the vect-33.c test now passes, both 32 and 64-bit, but
the other gcc.dg/vect tests refering to vect64 start FAILing instead:

FAIL: gcc.dg/vect/bb-slp-11.c scan-tree-dump-times slp2 "basic block
vectorized"
FAIL: gcc.dg/vect/bb-slp-26.c scan-tree-dump-times slp1 "basic block
vectorized" 1

I'm attaching the 32-bit slp? dumps for reference.

    Rainer


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (8 preceding siblings ...)
  2015-01-23 12:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-23 12:32 ` ro at gcc dot gnu.org
  2015-01-23 12:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-23 12:32 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #10 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 34547
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34547&action=edit
32-bit sparc bb-slp-26.c.129t.slp1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (9 preceding siblings ...)
  2015-01-23 12:32 ` ro at gcc dot gnu.org
@ 2015-01-23 12:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-23 13:06 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-23 12:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #11 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
[...]
> which means it is unconditionally vect64 (I assume word_mode is DImode).

Unless I'm completely mistaken, word_mode is SImode for 32-bit, DImode
for 64-bit.

    Rainer


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (10 preceding siblings ...)
  2015-01-23 12:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-23 13:06 ` rguenth at gcc dot gnu.org
  2015-01-23 13:09 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-23 13:06 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to ro@CeBiTec.Uni-Bielefeld.DE from comment #8)
> > --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
> [...]
> > For SPARC we use v8qi and peel for alignment.  That should be handled
> > but it looks like SPARC is not vect64 for whatever reason :/
> >
> > Rainer, can you please make SPARC vect64?
> 
> When I do this, the vect-33.c test now passes, both 32 and 64-bit, but
> the other gcc.dg/vect tests refering to vect64 start FAILing instead:
> 
> FAIL: gcc.dg/vect/bb-slp-11.c scan-tree-dump-times slp2 "basic block
> vectorized"

Using V2SI, but it doesn't support 2 * V2SI -> V4HI VEC_PACK_TRUNC_EXPR.
This means the testcase misses to require vect_pack_trunc.

> FAIL: gcc.dg/vect/bb-slp-26.c scan-tree-dump-times slp1 "basic block
> vectorized" 1

Here it fails to vectorize because the accesses are unaligned.  The testcase
fails to check for vect_hw_misalign.

> I'm attaching the 32-bit slp? dumps for reference.

So 64-bit works fine?

> 	Rainer
>From gcc-bugs-return-474552-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Jan 23 13:09:31 2015
Return-Path: <gcc-bugs-return-474552-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 24921 invoked by alias); 23 Jan 2015 13:09:28 -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 24805 invoked by uid 48); 23 Jan 2015 13:09:10 -0000
From: "ysrumyan at gmail dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/64746] New: Loop with nested load/stores is not vectorized using aggressive if-conversion.
Date: Fri, 23 Jan 2015 13:09:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: new
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 5.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: ysrumyan at gmail dot com
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: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter
Message-ID: <bug-64746-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-01/txt/msg02546.txt.bz2
Content-length: 993

https://gcc.gnu.org/bugzilla/show_bug.cgi?idd746

            Bug ID: 64746
           Summary: Loop with nested load/stores is not vectorized using
                    aggressive if-conversion.
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ysrumyan at gmail dot com

Attached simple test-case extracted from important suite is not vectorized even
if 'pragma omp simd' is used since ifcvt_repair_bool_pattern does not remove
all multiple uses and we get the following message:

test.c:11:14: note: bit-precision arithmetic not supported.
test.c:11:14: note: not vectorized: relevant stmt not supported: _ifc__90 x1_7 >= 0;

The problem is that statement splitting may introduce other multiple predicate
uses and iterative algorithm should be used.

I attached simple fix which cures the problem.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (11 preceding siblings ...)
  2015-01-23 13:06 ` rguenth at gcc dot gnu.org
@ 2015-01-23 13:09 ` rguenth at gcc dot gnu.org
  2015-01-23 13:12 ` ro at CeBiTec dot Uni-Bielefeld.DE
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-23 13:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #13 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Jan 23 13:08:32 2015
New Revision: 220039

URL: https://gcc.gnu.org/viewcvs?rev=220039&root=gcc&view=rev
Log:
2015-01-23  Richard Biener  <rguenther@suse.de>

    PR testsuite/63439
    * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc.
    * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign.

Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/bb-slp-11.c
    trunk/gcc/testsuite/gcc.dg/vect/bb-slp-26.c


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (12 preceding siblings ...)
  2015-01-23 13:09 ` rguenth at gcc dot gnu.org
@ 2015-01-23 13:12 ` ro at CeBiTec dot Uni-Bielefeld.DE
  2015-01-23 13:13 ` ro at gcc dot gnu.org
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at CeBiTec dot Uni-Bielefeld.DE @ 2015-01-23 13:12 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #14 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #12 from Richard Biener <rguenth at gcc dot gnu.org> ---
[...]
>> I'm attaching the 32-bit slp? dumps for reference.
>
> So 64-bit works fine?

Unfortunately not.  I'll attach the dumps, too.

    Rainer


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (13 preceding siblings ...)
  2015-01-23 13:12 ` ro at CeBiTec dot Uni-Bielefeld.DE
@ 2015-01-23 13:13 ` ro at gcc dot gnu.org
  2015-01-23 13:14 ` ro at gcc dot gnu.org
                   ` (2 subsequent siblings)
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-23 13:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #15 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 34549
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34549&action=edit
64-bit sparc bb-slp-11.c.135t.slp2


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (14 preceding siblings ...)
  2015-01-23 13:13 ` ro at gcc dot gnu.org
@ 2015-01-23 13:14 ` ro at gcc dot gnu.org
  2015-01-26  9:25 ` rguenth at gcc dot gnu.org
  2015-01-26 13:19 ` ro at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-23 13:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #16 from Rainer Orth <ro at gcc dot gnu.org> ---
Created attachment 34550
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34550&action=edit
64-bit sparc bb-slp-26.c.129t.slp1


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (15 preceding siblings ...)
  2015-01-23 13:14 ` ro at gcc dot gnu.org
@ 2015-01-26  9:25 ` rguenth at gcc dot gnu.org
  2015-01-26 13:19 ` ro at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-01-26  9:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

--- Comment #17 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ok, same issues as 32-bit.  So it should be fine to change sparc to vect64 now.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Bug testsuite/63439] [5 Regression] FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling"
  2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
                   ` (16 preceding siblings ...)
  2015-01-26  9:25 ` rguenth at gcc dot gnu.org
@ 2015-01-26 13:19 ` ro at gcc dot gnu.org
  17 siblings, 0 replies; 19+ messages in thread
From: ro at gcc dot gnu.org @ 2015-01-26 13:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63439

Rainer Orth <ro at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #18 from Rainer Orth <ro at gcc dot gnu.org> ---
Done now.


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2015-01-26 13:19 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-10-02  7:52 [Bug target/63439] New: FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling" bernd.edlinger at hotmail dot de
2014-10-06 12:09 ` [Bug testsuite/63439] " rguenth at gcc dot gnu.org
2014-10-06 13:00 ` bernd.edlinger at hotmail dot de
2015-01-22 13:14 ` ro at gcc dot gnu.org
2015-01-22 13:17 ` [Bug testsuite/63439] [5 Regression] " rguenth at gcc dot gnu.org
2015-01-22 13:18 ` ro at gcc dot gnu.org
2015-01-23 10:54 ` rguenth at gcc dot gnu.org
2015-01-23 11:01 ` rguenth at gcc dot gnu.org
2015-01-23 11:04 ` rguenth at gcc dot gnu.org
2015-01-23 12:31 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-23 12:32 ` ro at gcc dot gnu.org
2015-01-23 12:34 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-23 13:06 ` rguenth at gcc dot gnu.org
2015-01-23 13:09 ` rguenth at gcc dot gnu.org
2015-01-23 13:12 ` ro at CeBiTec dot Uni-Bielefeld.DE
2015-01-23 13:13 ` ro at gcc dot gnu.org
2015-01-23 13:14 ` ro at gcc dot gnu.org
2015-01-26  9:25 ` rguenth at gcc dot gnu.org
2015-01-26 13:19 ` ro 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).