public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "vineetg at rivosinc dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/106533] loop distribution not distributing inner loop (to memcpy) when perfect loop nest
Date: Fri, 05 Aug 2022 07:41:35 +0000	[thread overview]
Message-ID: <bug-106533-4-w2qDEPY7s0@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-106533-4@http.gcc.gnu.org/bugzilla/>

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

--- Comment #3 from Vineet Gupta <vineetg at rivosinc dot com> ---
FWIW this was seen with riscv64 build of gcc, but same tree behavior seen with
aarch64 gcc 12.1.

For single copy-loop src, final output is inline copy loop

-->8--
  <bb 11> [local count: 1063004409]:
  # j_131 = PHI <j_92(28), 0(10)>
  # ivtmp_135 = PHI <ivtmp_88(28), 10000000(10)>
  _10 = a[j_131];
  c[j_131] = _10;
  j_92 = j_131 + 1;
  ivtmp_88 = ivtmp_135 - 1;
  if (ivtmp_88 != 0)
    goto <bb 28>; [99.00%]
  else
    goto <bb 12>; [1.00%]


.L74:
// ../stream-4-loop.c:315:          c[j] = a[j];
        ldr     q0, [x27, x0]   // MEM <vector(2) double> [(double *)&a +
ivtmp.224_247 * 1], MEM <vector(2) double> [(double *)&a + ivtmp.224_247 * 1]
        str     q0, [x19, x0]   // MEM <vector(2) double> [(double *)&a +
ivtmp.224_247 * 1], MEM <vector(2) double> [(double *)&c + ivtmp.224_247 * 1]
        add     x0, x0, 16      // ivtmp.224, ivtmp.224,
        cmp     x0, x28 // ivtmp.224, tmp291
        bne     .L74
-->8--


While for multi-loop src we see

-->8--

  MEM <unsigned char[80000000]> [(char * {ref-all})&c] = MEM <unsigned
char[80000000]> [(char * {ref-all})&a];

        bl      memcpy
-->8--

  parent reply	other threads:[~2022-08-05  7:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-05  7:22 [Bug tree-optimization/106533] New: " vineetg at rivosinc dot com
2022-08-05  7:32 ` [Bug tree-optimization/106533] " vineetg at rivosinc dot com
2022-08-05  7:35 ` vineetg at rivosinc dot com
2022-08-05  7:41 ` vineetg at rivosinc dot com [this message]
2022-08-05  8:36 ` rguenth at gcc dot gnu.org
2022-08-05 10:12 ` cvs-commit at gcc dot gnu.org
2022-08-05 10:12 ` rguenth at gcc dot gnu.org
2022-08-16  4:40 ` vineetg at rivosinc dot com
2022-08-16  7:16 ` rguenth at gcc dot gnu.org
2022-08-16 16:33 ` vineetg at rivosinc dot com
2022-08-16 16:48 ` pinskia 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-106533-4-w2qDEPY7s0@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).