This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [wwwdocs] [patch] vectorizer webpage update

On Wed, 21 Jul 2004, Dorit Naishlos wrote:
> The long due update for the status of the vectorizer.

And impressive it is!

I have got some minor comments concerning markup and presentation, but
as far as the technical substance is concerned that's clearly your call
anyways. ;-)

Index: vectorization.html
!     "HTML Tidy for Windows (vers 1st March 2004), see" />

Please omit this...

! <body xml:lang="en" lang="en">
!     <h1 align="center">Auto-vectorization in GCC<br /></h1>

as well as the xml, lang, and align attributes here.  (I see that some
of these were already present in the original version, but while we are
at it, it's better to address these now.  In fact, I'm a bit astonished
that I haven't noticed these earlier. :-o)

Some of these attributes are already set by our style/preprocessor on and, and in case we want to add further ones,
I'd prefer to consider making them global.

!     <p>The goal of this project is to develop a loop vectorizer in
!     GCC, based on the <a href="./">tree-ssa</a> framework. This
!     work is taking place in the <a href=
!     "./lno.html">lno-branch</a>.</p>

"lno.html" should suffice.

!         <li><a href="#Using">Using the Vectorizer</a></li>

!         <li><a href="#Vectorizab">Vectorizable Loops</a></li>

!         <li><a href="#Unvectoriz">Unvectorizable Loops</a></li>

!         <li><a href="#Status">Status</a></li>
!         <li><a href="#Related">Related Links</a></li>
!         <li><a href="#ToDo">In The Works</a></li>
!         <li><a href="#High-Level">High-Level Plan of
!         Implementation</a></li>

We commonly use lower-case anchors (#using, #status,...), so I suggest
to follow this practice here as well.  In case of "Vectorizab" and
"Unvectoriz", perhaps we could find something non-abbreviated, though
I admit I didn't have any good idea either. :-(

!     <p>Vectorization is enabled by the flag -ftree-vectorize. To

Please use <code>-ftree-vectorize</code>, both here and in the remainder
of the text.

!     output that the vectorizer generated for test case
!     tree-ssa-vect-1.c:</p>


!    /* new feature: support for pointer accesses.  */

You mention "new feature" in a couple of comments.  Are these features
added by the lno branch?

!    /* features: support for pointer accesses and constants  */

If so, what does "features" here stand for?

!     <pre>
! <a name="example61" id=
! "example61"><strong>example6</strong> (gfortran):</a>

In this case, and the others: should this really be part of the
<pre> environment?

! <strong>example3</strong>: strided access (interleaved data):

Could you also explain this with one or two sentences?

! <strong>example4</strong>: multiple data-types, type casting:

Here as well?

!                 <li>No reductions (sum += a[i]) or inductions (a[i]
!                 = i).</li>

For these, and all other code snippets in text, please also use a
proper <code>...</code> environment.

!                 <li>Some forms of if-the-else patterns can be
!                 vectorized.</li>

"if-the-else"? Should this be "then"?

!                 <li><strong>New: Infrastructure for idiom
!                 recognition is added. The first computation idiom

"has been"?

!                 that is recognized and vectorized is a
!                 multiplication of unsigned-chars, which (unsigned

"unsigned chars"
!                 short) product is converted back to unsigned char

"the product of which" or "whose product" (I believe, you may want
to double check with a native speaker ;-) )

!                 the loop have to be annotated as __restricted__.


!                 <li>Supportable operations include plus/minus/mult,

"times" instead of "mult"?

!                     <p><tt> for (n = 0; n &lt; HASH_SIZE; n++)
                      {</tt><br />
!                     <tt>  m = head[n];</tt><br />
!                     <tt>  head[n] = (Pos)(m &gt;= 32768 ? m-32768 :
!                     0);</tt><br />
!                     <tt> }</tt></p>

Do you want to use <pre> also here, like in the other examples?

!             <p> Address the item from the <a href=
!             todo list</a> - "SSA information for arrays : The

Would you mind making this a relative link.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]