public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "rguenth at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/99415] s115 benchmark of TSVC is vectorized by icc and not by gcc Date: Mon, 08 Mar 2021 08:47:44 +0000 [thread overview] Message-ID: <bug-99415-4-mFCslvU9t6@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-99415-4@http.gcc.gnu.org/bugzilla/> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99415 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|middle-end |tree-optimization Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Blocks| |53947 Last reconfirmed| |2021-03-08 Keywords| |missed-optimization --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- The benchmark is written badly to confuse our loop header copying it seems. Writing for (int j = 0; j < LEN_2D-1; j++) { for (int i = j+1; i < LEN_2D; i++) { a[i] -= aa[j][i] * a[j]; } } fixes the vectorizing. Possibly a mistake users do, so probably worth investigating further. Not sure how to most easily address this - we'd like to peel the last iteration of the outer loop, noting it does nothing. Maybe loop-splitting can figure this out? Alternatively loop header copying should just do its job... Hmm, actually loop-header copying does do its job but then there's jump threading messing this up again (the loop header check is redundant for all but the last iteration of the outer loop). So -fno-tree-dominator-opts fixes this as well. And for some reason ch_vect thinks the loops are all do-while loops. Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947 [Bug 53947] [meta-bug] vectorizer missed-optimizations
prev parent reply other threads:[~2021-03-08 8:47 UTC|newest] Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-05 15:50 [Bug middle-end/99415] New: " hubicka at gcc dot gnu.org 2021-03-08 8:47 ` rguenth at gcc dot gnu.org [this message]
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-99415-4-mFCslvU9t6@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: linkBe 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).