public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "sthalik at misaki dot pl" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug objc++/58783] fails to cross-compile Qt 5:dev in obj-c++ Date: Fri, 18 Oct 2013 11:49:00 -0000 [thread overview] Message-ID: <bug-58783-4-Au7QTWi3Cj@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-58783-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58783 Stanisław Halik <sthalik at misaki dot pl> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #31036|0 |1 is obsolete| | --- Comment #4 from Stanisław Halik <sthalik at misaki dot pl> --- Created attachment 31037 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=31037&action=edit .bz2 for Iain >From gcc-bugs-return-432126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Fri Oct 18 11:57:55 2013 Return-Path: <gcc-bugs-return-432126-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org> Delivered-To: listarch-gcc-bugs@gcc.gnu.org Received: (qmail 14160 invoked by alias); 18 Oct 2013 11:57:55 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: <gcc-bugs.gcc.gnu.org> List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/> List-Post: <mailto:gcc-bugs@gcc.gnu.org> List-Help: <mailto:gcc-bugs-help@gcc.gnu.org> Sender: gcc-bugs-owner@gcc.gnu.org Delivered-To: mailing list gcc-bugs@gcc.gnu.org Received: (qmail 14096 invoked by uid 48); 18 Oct 2013 11:57:52 -0000 From: "jakub at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/56309] conditional moves instead of compare and branch result in almost 2x slower code Date: Fri, 18 Oct 2013 11:57:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 4.7.2 X-Bugzilla-Keywords: missed-optimization X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: <bug-56309-4-jfzCqExpEw@http.gcc.gnu.org/bugzilla/> In-Reply-To: <bug-56309-4@http.gcc.gnu.org/bugzilla/> References: <bug-56309-4@http.gcc.gnu.org/bugzilla/> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-10/txt/msg01270.txt.bz2 Content-length: 1569 http://gcc.gnu.org/bugzilla/show_bug.cgi?idV309 --- Comment #32 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to rguenther@suse.de from comment #31) > But RTL if-conversion still will generate cmov, right? Sure. The current if-conversion is performed without any cost model or anything similar, say even for: void foo (int *a, int *b, int *c) { int i; for (i = 0; i < 1024; i += 32) { int t1, t2; #define V(N) \ t1 = a[i + N]; t2 = b[i + N]; \ a[i + N] = c[i + N / 8] ? t1 * (N + 1) / 3 + 21: t2 * (N + 3) / 17 + 9; V(0) V(1) V(2) V(3) V(4) V(5) V(6) V(7) V(8) V(9) V(10) V(11) V(12) V(13) V(14) V(15) V(16) V(17) V(18) V(19) V(20) V(21) V(22) V(23) V(24) V(25) V(26) V(27) V(28) V(29) V(30) V(31) } } it will just if-convert everything together, performing all the operations unconditionally and doing lots of conditional moves. If my patches are way to go, supposedly the vectorizer cost model should take into account the non-if-converted loop cost instead of if-converted loop cost and compare that to the cost of the vectorized if-converted loop, though with multiple basic blocks in loop's body there won't be one cost, but perhaps one can compute minimum and maximum and average cost or something similar (also taking into account branch probabilities). And, for targets where a tree if-conversion would be useful, after adding some cost model and limiting how many statements we should be running unconditionally, parts of the if-conversion framework could be used for a different pass.
next prev parent reply other threads:[~2013-10-18 11:49 UTC|newest] Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-58783-4@http.gcc.gnu.org/bugzilla/> 2013-10-18 11:27 ` sthalik at misaki dot pl 2013-10-18 11:28 ` sthalik at misaki dot pl 2013-10-18 11:47 ` sthalik at misaki dot pl 2013-10-18 11:49 ` sthalik at misaki dot pl [this message] 2013-10-18 12:02 ` sthalik at misaki dot pl 2013-10-18 12:18 ` iains at gcc dot gnu.org 2013-10-19 12:58 ` iains at gcc dot gnu.org 2014-11-19 22:01 ` egall at gwmail dot gwu.edu 2021-12-21 19:03 ` [Bug objc++/58783] Fast enumeration is not supported for Objective-C++ egallager 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-58783-4-Au7QTWi3Cj@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).