FSF copyright assignment

2024-05-25 Thread Seyed Sajad Kahani via Gcc
Hi,

I am writing to request the FSF copyright assignment forms, as they
are a legal requirement for contributing to GCC.

Cordially,
Seyed Sajad Kahani


Question about the SLP vectorizer failed to perform automatic vectorization in one case

2024-05-25 Thread Hanke Zhang via Gcc
Hi,
I'm trying to studing the automatic vectorization optimization in GCC,
but I found one case that SLP vectorizer failed to do such things.

Here is the sample code: (also a simplification version of a function
from the 625/525.x264 source code in SPEC CPU 2017)

void pixel_sub_wxh(int16_t *diff, uint8_t *pix1, uint8_t *pix2) {
  for (int y = 0; y < 4; y++) {
for (int x = 0; x < 4; x++)
  diff[x + y * 4] = pix1[x] - pix2[x];
pix1 += 16;
pix2 += 32;
  }
}

When I compiled with `-O3 -mavx2/-msse4.2`, SLP vectorizer failed to
vectorize it, and I got the following message when adding
`-fopt-info-vec-all`. (The inner loop will be unrolled)

:6:21: optimized: loop vectorized using 8 byte vectors
:6:21: optimized:  loop versioned for vectorization because of
possible aliasing
:5:6: note: vectorized 1 loops in function.
:5:6: note: * Analysis failed with vector mode V8SI
:5:6: note: * The result for vector mode V32QI would be the same
:5:6: note: * Re-trying analysis with vector mode V16QI
:5:6: note: * Analysis failed with vector mode V16QI
:5:6: note: * Re-trying analysis with vector mode V8QI
:5:6: note: * Analysis failed with vector mode V8QI
:5:6: note: * Re-trying analysis with vector mode V4QI
:5:6: note: * Analysis failed with vector mode V4QI

If I manually use the type declaration provided by `immintrin.h` to
rewrite the code, the code is as follows (which I hope the SLP
vectorizer to be able to do)

void pixel_sub_wxh_vec(int16_t *diff, uint8_t *pix1, uint8_t *pix2) {
  for (int y = 0; y < 4; y++) {
__v4hi pix1_v = {pix1[0], pix1[1], pix1[2], pix1[3]};
__v4hi pix2_v = {pix2[0], pix2[1], pix2[2], pix2[3]};
__v4hi diff_v = pix1_v - pix2_v;
*(long long *)(diff + y * 4) = (long long)diff_v;
pix1 += 16;
pix2 += 32;
  }
}

What I want to know is why SLP vectorizer can't vectorize the code
here, and what changes do I need to make to SLP vectorizer or the
source code if I want it to do so?

Thanks
Hanke Zhang


Re: FSF copyright assignment

2024-05-25 Thread Mark Wielaard
Hi Seyed,

On Sat, May 25, 2024 at 11:34:53AM +0100, Seyed Sajad Kahani via Gcc wrote:
> I am writing to request the FSF copyright assignment forms, as they
> are a legal requirement for contributing to GCC.

At https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright
you'll find the request-assign.changes file which you can sent to
ass...@gnu.org who will help you get the correct copyright assignment
and company disclaimer forms.

Cheers,

Mark


Re: FSF copyright assignment

2024-05-25 Thread David Edelsohn via Gcc
Hi, Seyed

Welcome.  Glad that you want to contribute to GCC.  GCC accepts
contributions from developers who either execute a copyright assignment to
the Free Software Foundation OR who certify the Developer Certificate of
Origin for their contributions.

https://gcc.gnu.org/contribute.html

Please choose whichever procedure works best for the needs of you and any
organizational affiliation.

Thanks, David


On Sat, May 25, 2024 at 6:37 AM Seyed Sajad Kahani via Gcc 
wrote:

> Hi,
>
> I am writing to request the FSF copyright assignment forms, as they
> are a legal requirement for contributing to GCC.
>
> Cordially,
> Seyed Sajad Kahani
>


gcc-14-20240525 is now available

2024-05-25 Thread GCC Administrator via Gcc
Snapshot gcc-14-20240525 is now available on
  https://gcc.gnu.org/pub/gcc/snapshots/14-20240525/
and on various mirrors, see https://gcc.gnu.org/mirrors.html for details.

This snapshot has been generated from the GCC 14 git branch
with the following options: git://gcc.gnu.org/git/gcc.git branch 
releases/gcc-14 revision b0b21d5bdfbc7d417b70010a11354b44968bb184

You'll find:

 gcc-14-20240525.tar.xz   Complete GCC

  SHA256=a358317d5c8b5474633fa1f1503e44bede9c9e3fbd67512ead7aceb93273e0dd
  SHA1=499c0f320c528f2cce479d7ccee5062ec90c7e81

Diffs from 14-20240518 are available in the diffs/ subdirectory.

When a particular snapshot is ready for public consumption the LATEST-14
link is updated and a message is sent to the gcc list.  Please do not use
a snapshot before it has been announced that way.