public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
@ 2023-07-12 20:53 hubicka at gcc dot gnu.org
  2023-07-12 20:58 ` [Bug target/110647] [14 Regression] " pinskia at gcc dot gnu.org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: hubicka at gcc dot gnu.org @ 2023-07-12 20:53 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 110647
           Summary: 66% TSVC/s2712 regressoin on N1-neoverse between
                    g:620a35b24a2b6edb (2023-07-01 07:24) and
                    g:80ae426a195a0d03 (2023-07-02 01:37)
           Product: gcc
           Version: 13.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hubicka at gcc dot gnu.org
  Target Milestone: ---

https://lnt.opensuse.org/db_default/v4/CPP/graph?plot.0=356.884.0

this seems to be off noise.

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

* [Bug target/110647] [14 Regression] 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
  2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
@ 2023-07-12 20:58 ` pinskia at gcc dot gnu.org
  2023-07-12 21:01 ` pinskia at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-12 20:58 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|66% TSVC/s2712 regressoin   |[14 Regression] 66%
                   |on N1-neoverse between      |TSVC/s2712 regressoin on
                   |g:620a35b24a2b6edb          |N1-neoverse between
                   |(2023-07-01 07:24) and      |g:620a35b24a2b6edb
                   |g:80ae426a195a0d03          |(2023-07-01 07:24) and
                   |(2023-07-02 01:37)          |g:80ae426a195a0d03
                   |                            |(2023-07-02 01:37)
            Version|13.1.0                      |14.0
   Target Milestone|---                         |14.0

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

* [Bug target/110647] [14 Regression] 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
  2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
  2023-07-12 20:58 ` [Bug target/110647] [14 Regression] " pinskia at gcc dot gnu.org
@ 2023-07-12 21:01 ` pinskia at gcc dot gnu.org
  2023-07-14 18:10 ` hubicka at gcc dot gnu.org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-07-12 21:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---

You own patch is the only thing which could have changed code generation during
that time period:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7e904d6c7f252ee947c237ed32dd43b2c248384d

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

* [Bug target/110647] [14 Regression] 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
  2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
  2023-07-12 20:58 ` [Bug target/110647] [14 Regression] " pinskia at gcc dot gnu.org
  2023-07-12 21:01 ` pinskia at gcc dot gnu.org
@ 2023-07-14 18:10 ` hubicka at gcc dot gnu.org
  2024-03-07 23:29 ` law at gcc dot gnu.org
  2024-05-07  7:41 ` [Bug target/110647] [14/15 " rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: hubicka at gcc dot gnu.org @ 2023-07-14 18:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
This is a testcase based on our testuiste version so it can be copied to
compiler explorer

#define iterations 10000
#define LEN_1D 32000
#define LEN_2D 256
#define ARRAY_ALIGNMENT 64

typedef float real_t;
#define ABS fabsf
__attribute__((aligned(ARRAY_ALIGNMENT)))
real_t flat_2d_array[LEN_2D * LEN_2D];
__attribute__((aligned(ARRAY_ALIGNMENT))) real_t x[LEN_1D];
__attribute__((aligned(ARRAY_ALIGNMENT))) real_t a[LEN_1D], b[LEN_1D],
    c[LEN_1D], d[LEN_1D], e[LEN_1D], aa[LEN_2D][LEN_2D], bb[LEN_2D][LEN_2D],
    cc[LEN_2D][LEN_2D], tt[LEN_2D][LEN_2D];
__attribute__((aligned(ARRAY_ALIGNMENT))) int indx[LEN_1D];

int dummy(real_t[LEN_1D], real_t[LEN_1D], real_t[LEN_1D], real_t[LEN_1D],
          real_t[LEN_1D], real_t[LEN_2D][LEN_2D], real_t[LEN_2D][LEN_2D],
          real_t[LEN_2D][LEN_2D], real_t);
real_t s2712(struct args_t * func_args)
{
//    control flow
//    if to elemental min


    for (int nl = 0; nl < 4*iterations; nl++) {
        for (int i = 0; i < LEN_1D; i++) {
            if (a[i] >= b[i]) {
                a[i] += b[i] * c[i];
            }
        }
        dummy(a, b, c, d, e, aa, bb, cc, 0.);
    }
return 0;
}

So with GCC 13 I get:
s2712(args_t*):
        stp     x29, x30, [sp, -96]!
        mov     x29, sp
        stp     x19, x20, [sp, 16]
        adrp    x19, a
        adrp    x20, b
        add     x19, x19, :lo12:a
        add     x20, x20, :lo12:b
        stp     x21, x22, [sp, 32]
        adrp    x22, c
        mov     x21, 62464
        add     x22, x22, :lo12:c
        stp     x23, x24, [sp, 48]
        adrp    x24, e
        adrp    x23, d
        add     x24, x24, :lo12:e
        add     x23, x23, :lo12:d
        stp     x25, x26, [sp, 64]
        adrp    x26, bb
        adrp    x25, aa
        add     x26, x26, :lo12:bb
        add     x25, x25, :lo12:aa
        stp     x27, x28, [sp, 80]
        adrp    x27, cc
        add     x27, x27, :lo12:cc
        mov     w28, 40000
        movk    x21, 0x1, lsl 16
.L2:
        mov     x0, 0
.L5:
        ldr     s0, [x19, x0]
        ldr     s1, [x20, x0]
        fcmpe   s0, s1
        bge     .L7
.L3:
        add     x0, x0, 4
        cmp     x0, x21
        bne     .L5
        movi    v0.2s, #0
        mov     x7, x27
        mov     x6, x26
        mov     x5, x25
        mov     x4, x24
        mov     x3, x23
        mov     x2, x22
        mov     x1, x20
        mov     x0, x19
        bl      dummy(float*, float*, float*, float*, float*, float (*) [256],
float (*) [256], float (*) [256], float)
        subs    w28, w28, #1
        bne     .L2
        ldp     x19, x20, [sp, 16]
        movi    v0.2s, #0
        ldp     x21, x22, [sp, 32]
        ldp     x23, x24, [sp, 48]
        ldp     x25, x26, [sp, 64]
        ldp     x27, x28, [sp, 80]
        ldp     x29, x30, [sp], 96
        ret
.L7:
        ldr     s2, [x22, x0]
        fmadd   s0, s1, s2, s0
        str     s0, [x19, x0]
        b       .L3

and trunk:
s2712(args_t*):
        stp     x29, x30, [sp, -96]!
        mov     x29, sp
        stp     x19, x20, [sp, 16]
        adrp    x19, a
        adrp    x20, b
        add     x19, x19, :lo12:a
        add     x20, x20, :lo12:b
        stp     x21, x22, [sp, 32]
        adrp    x22, c
        mov     x21, 62464
        add     x22, x22, :lo12:c
        stp     x23, x24, [sp, 48]
        adrp    x24, e
        adrp    x23, d
        add     x24, x24, :lo12:e
        add     x23, x23, :lo12:d
        stp     x25, x26, [sp, 64]
        adrp    x26, bb
        adrp    x25, aa
        add     x26, x26, :lo12:bb
        add     x25, x25, :lo12:aa
        stp     x27, x28, [sp, 80]
        adrp    x27, cc
        add     x27, x27, :lo12:cc
        mov     w28, 40000
        movk    x21, 0x1, lsl 16
.L2:
        mov     x0, 0
.L5:
        ldr     s31, [x19, x0]
        ldr     s30, [x20, x0]
        fcmpe   s31, s30
        bge     .L7
.L3:
        add     x0, x0, 4
        cmp     x0, x21
        bne     .L5
        movi    v0.2s, #0
        mov     x7, x27
        mov     x6, x26
        mov     x5, x25
        mov     x4, x24
        mov     x3, x23
        mov     x2, x22
        mov     x1, x20
        mov     x0, x19
        bl      dummy(float*, float*, float*, float*, float*, float (*) [256],
float (*) [256], float (*) [256], float)
        subs    w28, w28, #1
        bne     .L2
        ldp     x19, x20, [sp, 16]
        movi    v0.2s, #0
        ldp     x21, x22, [sp, 32]
        ldp     x23, x24, [sp, 48]
        ldp     x25, x26, [sp, 64]
        ldp     x27, x28, [sp, 80]
        ldp     x29, x30, [sp], 96
        ret
.L7:
        ldr     s29, [x22, x0]
        fmadd   s31, s30, s29, s31
        str     s31, [x19, x0]
        b       .L3

The only difference seems to be:
 .L2:
         mov     x0, 0
 .L5:
-        ldr     s31, [x19, x0]
-        ldr     s30, [x20, x0]
-        fcmpe   s31, s30
+        ldr     s0, [x19, x0]
+        ldr     s1, [x20, x0]
+        fcmpe   s0, s1
         bge     .L7
 .L3:
         add     x0, x0, 4
@@ -57,7 +57,7 @@
         ldp     x29, x30, [sp], 96
         ret
 .L7:
-        ldr     s29, [x22, x0]
-        fmadd   s31, s30, s29, s31
-        str     s31, [x19, x0]
+        ldr     s2, [x22, x0]
+        fmadd   s0, s1, s2, s0
+        str     s0, [x19, x0]
         b       .L3

which seems that it is a noise (caused by code layout change in the whole
bechmark) after all?

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

* [Bug target/110647] [14 Regression] 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
  2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2023-07-14 18:10 ` hubicka at gcc dot gnu.org
@ 2024-03-07 23:29 ` law at gcc dot gnu.org
  2024-05-07  7:41 ` [Bug target/110647] [14/15 " rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: law at gcc dot gnu.org @ 2024-03-07 23:29 UTC (permalink / raw)
  To: gcc-bugs

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

Jeffrey A. Law <law at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |law at gcc dot gnu.org
           Priority|P3                          |P2

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

* [Bug target/110647] [14/15 Regression] 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37)
  2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2024-03-07 23:29 ` law at gcc dot gnu.org
@ 2024-05-07  7:41 ` rguenth at gcc dot gnu.org
  4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2024-05-07  7:41 UTC (permalink / raw)
  To: gcc-bugs

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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Target Milestone|14.0                        |14.2

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCC 14.1 is being released, retargeting bugs to GCC 14.2.

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

end of thread, other threads:[~2024-05-07  7:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-12 20:53 [Bug middle-end/110647] New: 66% TSVC/s2712 regressoin on N1-neoverse between g:620a35b24a2b6edb (2023-07-01 07:24) and g:80ae426a195a0d03 (2023-07-02 01:37) hubicka at gcc dot gnu.org
2023-07-12 20:58 ` [Bug target/110647] [14 Regression] " pinskia at gcc dot gnu.org
2023-07-12 21:01 ` pinskia at gcc dot gnu.org
2023-07-14 18:10 ` hubicka at gcc dot gnu.org
2024-03-07 23:29 ` law at gcc dot gnu.org
2024-05-07  7:41 ` [Bug target/110647] [14/15 " rguenth 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).