public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL
@ 2004-11-18 16:11 pinskia at gcc dot gnu dot org
  2004-11-20 18:41 ` [Bug tree-optimization/18546] " pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-18 16:11 UTC (permalink / raw)
  To: gcc-bugs

Compile the following with the C and C++ front-end and you will get different assembly, the C front-
end does not do NVR at all while the C++ front-end will change the a decl to be the return_decl before 
so we the vectorizer cannot do the vectorization because it does not hanndle RETURN_DECLs at all.

struct A
{
    int x[4];
};

struct A foo()
{
  struct A a;
  for (int i=0; i<4; ++i)
    a.x[i] = 0;
  return a;
}

-- 
           Summary: tree vectorizer does not understand RETURN_DECL
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P2
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
@ 2004-11-20 18:41 ` pinskia at gcc dot gnu dot org
  2005-03-04 15:11 ` cjb at mrao dot cam dot ac dot uk
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-11-20 18:41 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-11-20 18:41 -------
Confirmed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2004-11-20 18:41:17
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
  2004-11-20 18:41 ` [Bug tree-optimization/18546] " pinskia at gcc dot gnu dot org
@ 2005-03-04 15:11 ` cjb at mrao dot cam dot ac dot uk
  2005-03-04 15:19 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: cjb at mrao dot cam dot ac dot uk @ 2005-03-04 15:11 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cjb at mrao dot cam dot ac dot uk  2005-03-04 15:11 -------
I'm not sure that I'm reproducing this; I'm getting the loop reported as vectorized:

 % ./g++ -O2 -msse2 -march=pentium4 -ftree-vectorize -fdump-tree-vect-stats
-ftree-vectorizer-verbose=9 -S 18546.cpp
18546.cpp:9: note: LOOP VECTORIZED.
18546.cpp:6: note: vectorized 1 loops in function.

Am enclosing the vectorizer's dump, my source file, and the generated asm.  I'm
using "GCC: (GNU) 4.0.0-autovect 20050302 (experimental,
autovect-merge-20050127)" on x86.  Andrew, could you let me know whether I'm
misreading the output or whether there's something I'm doing to avoid triggering
the bug?  (Or whether it looks like it's been fixed since this was filed.)

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
  2004-11-20 18:41 ` [Bug tree-optimization/18546] " pinskia at gcc dot gnu dot org
  2005-03-04 15:11 ` cjb at mrao dot cam dot ac dot uk
@ 2005-03-04 15:19 ` pinskia at gcc dot gnu dot org
  2005-03-05 15:53 ` cjb at mrao dot cam dot ac dot uk
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-03-04 15:19 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-04 15:18 -------
(In reply to comment #5)
> I'm not sure that I'm reproducing this; I'm getting the loop reported as vectorized:
No you are no missing reading.  This is vectorized on x86 but not on PPC.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-03-04 15:19 ` pinskia at gcc dot gnu dot org
@ 2005-03-05 15:53 ` cjb at mrao dot cam dot ac dot uk
  2005-03-05 17:03 ` pinskia at gcc dot gnu dot org
  2005-03-07 23:21 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: cjb at mrao dot cam dot ac dot uk @ 2005-03-05 15:53 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cjb at mrao dot cam dot ac dot uk  2005-03-05 15:53 -------
> No you are no missing reading.  This is vectorized on x86 but not on PPC.

Thanks, Andrew.  I'm also having trouble reproducing it on PPC (under OS X
10.3.4), though.  Same GCC source tree and test source, and:

 % ./g++ -O2 -maltivec -ftree-vectorize -fdump-tree-vect-stats
-ftree-vectorizer-verbose=9 -S 18546.cpp
18546.cpp:9: note: LOOP VECTORIZED.
18546.cpp:6: note: vectorized 1 loops in function.

The generated .t55.vect is a tiny diff away from the x86 version; I'll attach it
and the generated asm.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-03-05 15:53 ` cjb at mrao dot cam dot ac dot uk
@ 2005-03-05 17:03 ` pinskia at gcc dot gnu dot org
  2005-03-07 23:21 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-03-05 17:03 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-05 17:03 -------
Hmm, I am using a slightly older compiler, so maybe this is fixed already.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

* [Bug tree-optimization/18546] tree vectorizer does not understand RETURN_DECL
  2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2005-03-05 17:03 ` pinskia at gcc dot gnu dot org
@ 2005-03-07 23:21 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-03-07 23:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-03-07 23:21 -------
I can confirm this has been fixed now.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED
   Target Milestone|---                         |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18546


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

end of thread, other threads:[~2005-03-07 23:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-11-18 16:11 [Bug tree-optimization/18546] New: tree vectorizer does not understand RETURN_DECL pinskia at gcc dot gnu dot org
2004-11-20 18:41 ` [Bug tree-optimization/18546] " pinskia at gcc dot gnu dot org
2005-03-04 15:11 ` cjb at mrao dot cam dot ac dot uk
2005-03-04 15:19 ` pinskia at gcc dot gnu dot org
2005-03-05 15:53 ` cjb at mrao dot cam dot ac dot uk
2005-03-05 17:03 ` pinskia at gcc dot gnu dot org
2005-03-07 23:21 ` pinskia at gcc dot gnu dot 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).