public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "bergner at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug target/100799] Stackoverflow in optimized code on PPC
Date: Tue, 05 Oct 2021 22:45:07 +0000	[thread overview]
Message-ID: <bug-100799-4-X5m43EWToC@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-100799-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #5 from Peter Bergner <bergner at gcc dot gnu.org> ---
So I took dgebal.f and ran delta on it to try and reduce it to something
manageable (I wish creduce worked on fortran files!) and got the following
which still shows us accessing above the stack.

      SUBROUTINE DGEBAL( JOB, N, A, LDA, ILO, IHI, SCALE, INFO )
      CHARACTER          JOB
      DOUBLE PRECISION   A( LDA, * ), SCALE( * )
      LOGICAL            NOCONV
  140 CONTINUE
      DO 200 I = K, L
         C = DNRM2( L-K+1, A( K, I ), 1 )
         R = DNRM2( L-K+1, A( I, K ), LDA )
         ICA = IDAMAX( L, A( 1, I ), 1 )
         CA = ABS( A( ICA, I ) )
         IF( C.EQ.ZERO .OR. R.EQ.ZERO )
     $      GO TO 200
         IF( G.LT.R .OR. MAX( R, RA ).GE.SFMAX2 .OR.
     $       MIN( F, C, G, CA ).LE.SFMIN2 )GO TO 190
         F = F / SCLFAC
         G = G / SCLFAC
  190    CONTINUE
         IF( ( C+R ).GE.FACTOR*S )
     $      GO TO 200
         IF( F.LT.ONE .AND. SCALE( I ).LT.ONE ) THEN
         END IF
         CALL DSCAL( N-K+1, G, A( I, K ), LDA )
  200 CONTINUE
      IF( NOCONV )
     $   GO TO 140
      END

This isn't related to some strange fortran parameter passing rules (ie, all
params are passed by reference), is it?


dgebal_:
.LFB0:
        .cfi_startproc
.LCF0:
0:      addis 2,12,.TOC.-.LCF0@ha
        addi 2,2,.TOC.-.LCF0@l
        .localentry     dgebal_,.-dgebal_
        std 24,-88(1)
        .cfi_offset 24, -88
        lwa 24,0(6)
        mflr 0
        mfcr 11,8
        std 20,-120(1)
        std 15,-160(1)
        std 16,-152(1)
        std 17,-144(1)
        std 19,-128(1)
        std 21,-112(1)
        std 22,-104(1)
        std 23,-96(1)
        std 25,-80(1)
        std 27,-64(1)
        std 28,-56(1)
        stw 11,8(1)
        li 9,0
        .cfi_register 65, 0
        .cfi_offset 20, -120
        .cfi_offset 15, -160
        .cfi_offset 16, -152
        .cfi_offset 17, -144
        .cfi_offset 19, -128
        .cfi_offset 21, -112
        .cfi_offset 22, -104
        .cfi_offset 23, -96
        .cfi_offset 25, -80
        .cfi_offset 27, -64
        .cfi_offset 28, -56
        .cfi_offset 72, 8
        addis 27,2,.LANCHOR0@toc@ha
        stfd 29,-24(1)
        stfd 30,-16(1)
        stfd 31,-8(1)
        std 14,-168(1)
        std 18,-136(1)
        std 26,-72(1)
        std 29,-48(1)
        cmpdi 0,24,0
        std 0,16(1)
        std 30,-40(1)
        std 31,-32(1)
        stdu 1,-224(1)
        .cfi_def_cfa_offset 224
        .cfi_offset 61, -24
        .cfi_offset 62, -16
        .cfi_offset 63, -8
        .cfi_offset 14, -168
        .cfi_offset 18, -136
        .cfi_offset 26, -72
        .cfi_offset 29, -48
        .cfi_offset 65, 16
        .cfi_offset 30, -40
        .cfi_offset 31, -32
        addi 27,27,.LANCHOR0@toc@l
        li 21,-8
        mr 25,6
        isel 24,0,24,0
        mr 16,4
        cmpwi 4,9,0
        addi 28,1,32
        addi 22,1,36
        addi 15,1,40
        std 5,272(1)       # 272 is bigger than 224!
...

  parent reply	other threads:[~2021-10-05 22:45 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-27 11:20 [Bug fortran/100799] New: " alexander.grund@tu-dresden.de
2021-05-28 16:42 ` [Bug target/100799] " alexander.grund@tu-dresden.de
2021-06-01 19:08 ` bergner at gcc dot gnu.org
2021-06-01 21:09 ` segher at gcc dot gnu.org
2021-06-02  0:31 ` amodra at gmail dot com
2021-10-05 22:45 ` bergner at gcc dot gnu.org [this message]
2022-01-09 11:13 ` kenneth.hoste at ugent dot be
2022-07-08 10:53 ` alexander.grund@tu-dresden.de
2022-07-08 16:38 ` bergner at gcc dot gnu.org
2022-07-14 20:10 ` bergner at gcc dot gnu.org
2022-07-20 11:45 ` alexander.grund@tu-dresden.de
2022-07-20 14:14 ` alexander.grund@tu-dresden.de
2022-07-20 17:42 ` segher at gcc dot gnu.org
2022-07-20 17:59 ` segher at gcc dot gnu.org
2022-09-13 19:29 ` segher at gcc dot gnu.org
2022-09-19  5:46 ` jskumari at gcc dot gnu.org
2022-09-20 22:45 ` segher at gcc dot gnu.org
2022-10-17  8:17 ` jskumari at gcc dot gnu.org
2022-10-17  9:42 ` jskumari at gcc dot gnu.org
2022-10-17 17:10 ` jskumari at gcc dot gnu.org
2022-10-31  3:00 ` linkw at gcc dot gnu.org
2022-11-09 16:43 ` jskumari at gcc dot gnu.org
2023-06-19 20:25 ` bergner at gcc dot gnu.org
2024-02-21  7:38 ` jakub at gcc dot gnu.org
2024-02-22  2:51 ` bergner at gcc dot gnu.org
2024-02-22 14:44 ` bergner at gcc dot gnu.org
2024-02-22 14:59 ` jakub at gcc dot gnu.org
2024-02-25  0:39 ` bergner at gcc dot gnu.org
2024-02-26  9:58 ` jakub at gcc dot gnu.org
2024-02-27  0:45 ` bergner at gcc dot gnu.org
2024-02-27  7:26 ` jakub at gcc dot gnu.org
2024-02-27 15:30 ` bergner at gcc dot gnu.org
2024-03-01 15:25 ` bergner at gcc dot gnu.org
2024-03-22  7:44 ` aagarwa at gcc dot gnu.org
2024-03-22  7:45 ` aagarwa at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-100799-4-X5m43EWToC@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).