public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/106989] New: GCC fail to vectorize and clang succeed
@ 2022-09-20 23:05 juzhe.zhong at rivai dot ai
  2022-09-20 23:21 ` [Bug tree-optimization/106989] " pinskia at gcc dot gnu.org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: juzhe.zhong at rivai dot ai @ 2022-09-20 23:05 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 106989
           Summary: GCC fail to vectorize and clang succeed
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: juzhe.zhong at rivai dot ai
  Target Milestone: ---

https://godbolt.org/z/v5arbjh3n

This case ARM-clang can vectorize but ARM-GCC failed.
Can anyone fix it? Or give me some guideline to fix it?


code:
typedef float real_t;

#define iterations 100000
#define LEN_1D 32000
#define LEN_2D 256
real_t flat_2d_array[LEN_2D*LEN_2D];

real_t x[LEN_1D];

real_t a[LEN_1D],b[LEN_1D],c[LEN_1D],d[LEN_1D],e[LEN_1D],
bb[LEN_2D][LEN_2D],cc[LEN_2D][LEN_2D],tt[LEN_2D][LEN_2D];

int indx[LEN_1D];

real_t* __restrict__ xx;
real_t* yy;
real_t s243(void)
{
    for (int nl = 0; nl < iterations; nl++) {
        for (int i = 0; i < LEN_1D-1; i++) {
            a[i] = b[i] + c[i  ] * d[i];
            b[i] = a[i] + d[i  ] * e[i];
            a[i] = b[i] + a[i+1] * d[i];
        }
    }
}

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

end of thread, other threads:[~2022-09-22 15:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-20 23:05 [Bug c/106989] New: GCC fail to vectorize and clang succeed juzhe.zhong at rivai dot ai
2022-09-20 23:21 ` [Bug tree-optimization/106989] " pinskia at gcc dot gnu.org
2022-09-20 23:46 ` crazylht at gmail dot com
2022-09-21  0:42 ` pinskia at gcc dot gnu.org
2022-09-21  0:45 ` pinskia at gcc dot gnu.org
2022-09-21  0:50 ` juzhe.zhong at rivai dot ai
2022-09-21  8:11 ` rguenth at gcc dot gnu.org
2022-09-22 15:56 ` pinskia 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).