public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "spop at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/37573] [4.4 Regression] gcc-4.4 regression: incorrect code generation with -O1 -ftree-vectorize Date: Wed, 15 Oct 2008 21:30:00 -0000 [thread overview] Message-ID: <20081015212849.15260.qmail@sourceware.org> (raw) In-Reply-To: <bug-37573-15165@http.gcc.gnu.org/bugzilla/> ------- Comment #7 from spop at gcc dot gnu dot org 2008-10-15 21:28 ------- split_constant_offset does not handle correctly the offset of &s.c[1] as this is an ADDR_EXPR whose op0 was set by extract_ops_from_tree to itself, an ADDR_EXPR. Now this code is not handled in split_constant_offset_1 as this calls if (!handled_component_p (op0)) return false; and returns false. This is an early return that stops the extraction of the base address of the array: s.c[0] and the offset 4. This is probably due to the fact that extract_ops_from_tree does return the expression itself for ADDR_EXPRs in this case: else if (grhs_class == GIMPLE_SINGLE_RHS) { *op1_p = expr; *op2_p = NULL_TREE; } I wonder if the fix could be to handle ADDR_EXPRs as GIMPLE_UNARY_RHS instead of GIMPLE_SINGLE_RHS: else if (grhs_class == GIMPLE_UNARY_RHS) { *op1_p = TREE_OPERAND (expr, 0); *op2_p = NULL_TREE; } in which case that would solve the base and offset computations. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37573
next prev parent reply other threads:[~2008-10-15 21:30 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2008-09-18 17:31 [Bug tree-optimization/37573] New: " edwintorok at gmail dot com 2008-09-18 17:31 ` [Bug tree-optimization/37573] " edwintorok at gmail dot com 2008-09-18 17:33 ` edwintorok at gmail dot com 2008-09-18 19:15 ` [Bug tree-optimization/37573] [4.4 Regression] " pinskia at gcc dot gnu dot org 2008-09-19 17:03 ` jakub at gcc dot gnu dot org 2008-09-19 17:53 ` jakub at gcc dot gnu dot org 2008-09-21 7:56 ` irar at il dot ibm dot com 2008-10-15 21:30 ` spop at gcc dot gnu dot org [this message] 2008-10-15 21:46 ` rguenth at gcc dot gnu dot org 2008-10-15 21:49 ` rguenth at gcc dot gnu dot org 2008-10-16 0:03 ` spop at gcc dot gnu dot org 2008-10-16 8:16 ` rguenther at suse dot de 2008-10-22 16:10 ` Sebastian Pop 2008-10-22 3:29 ` mmitchel at gcc dot gnu dot org 2008-10-22 16:11 ` sebpop at gmail dot com 2008-10-29 18:49 ` edwintorok at gmail dot com 2008-11-03 9:56 ` rguenth at gcc dot gnu dot org 2008-11-03 12:34 ` rguenth at gcc dot gnu dot org 2008-11-03 12:35 ` rguenth at gcc dot gnu dot org 2008-11-03 17:52 ` edwintorok at gmail dot com
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=20081015212849.15260.qmail@sourceware.org \ --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).