From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2215 invoked by alias); 17 Jan 2004 14:33:21 -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 2112 invoked by uid 48); 17 Jan 2004 14:33:21 -0000 Date: Sat, 17 Jan 2004 14:33:00 -0000 Message-ID: <20040117143321.2107.qmail@sources.redhat.com> From: "steven at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040117140859.13718.pbrook@gcc.gnu.org> References: <20040117140859.13718.pbrook@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug optimization/13718] Miscompilation of comparison of complex values X-Bugzilla-Reason: CC X-SW-Source: 2004-01/txt/msg01983.txt.bz2 List-Id: ------- Additional Comments From steven at gcc dot gnu dot org 2004-01-17 14:33 ------- Yup. Dump "t.c.t22.complex": ;; Function foo (foo) foo (a, b) { complex float T.2; complex float T.1; : T.1 = *a_1; T.2 = *b_4; if (T.1 != T.2) goto ; else goto ; :; abort (); :; return; } Dump "t.c.t23.sra": Scalar replacements for foo: __real__ T.1 -> SR.4 __imag__ T.1 -> SR.5 __real__ T.2 -> SR.6 __imag__ T.2 -> SR.7 ;; Function foo (foo) foo (a, b) { float SR.7; float SR.6; float SR.5; float SR.4; complex float T.2; complex float T.1; : SR.4_6 = REALPART_EXPR <*a_1>; SR.5_3 = IMAGPART_EXPR <*a_1>; SR.6_8 = REALPART_EXPR <*b_4>; SR.7_9 = IMAGPART_EXPR <*b_4>; if (T.1 != T.2) goto ; else goto ; :; abort (); :; return; } Dump "t.c.t25.dce3": ;; Function foo (foo) foo (a, b) { float SR.7; float SR.6; float SR.5; float SR.4; complex float T.2; complex float T.1; : if (T.1 != T.2) goto ; else goto ; :; abort (); :; return; } Now where did the assignments go? BTW why isn't T.1 != T.2 folded to compare the real and imag parts? -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed| |1 Last reconfirmed|0000-00-00 00:00:00 |2004-01-17 14:33:20 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13718