From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11815 invoked by alias); 17 Jul 2004 22:49:02 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 11808 invoked by uid 48); 17 Jul 2004 22:49:02 -0000 Date: Sat, 17 Jul 2004 22:49:00 -0000 Message-ID: <20040717224902.11807.qmail@sourceware.org> From: "pinskia at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040717215713.16611.falk@debian.org> References: <20040717215713.16611.falk@debian.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug tree-optimization/16611] Terrible code generated for vector X-Bugzilla-Reason: CC X-SW-Source: 2004-07/txt/msg02187.txt.bz2 List-Id: ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-07-17 22:49 ------- Lets look into the tree dump (which by the way looks like crap): __x = (struct _Bit_iterator *)v; __y = __x->._M_offset; this = (struct _Bit_iterator_base *)&; <--- the address is not propagated so SRA is not working this->_M_p = __x->._M_p; <--- here this->_M_offset = __y; <--- her SR.334 = .._M_p; __tmp.._M_offset = .._M_offset; __tmp.._M_p = SR.334; this = (struct _Bit_iterator_base *)&__tmp; <--- here __n = (ptrdiff_t)(this->_M_offset + (unsigned int)(ptrdiff_t)x); this->_M_p = this->_M_p + (_Bit_type *)((unsigned int)(__n / 32) * 4); __n.345 = __n % 32; if (__n.345 < 0) goto ; else goto ; :; this->_M_offset = (unsigned int)(__n.345 + 32); // <-- here this->_M_p = this->_M_p - 4B; // <-- here goto (); :; this->_M_offset = (unsigned int)__n.345; // <-- here :; return (int)(bool)(int)(bool)(int)(bool)((1 << (int)__tmp.._M_offset & *__tmp.. _M_p) != 0); // <-- here -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|libstdc++ |tree-optimization Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2004-07-17 22:49:01 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16611