From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5856 invoked by alias); 11 May 2006 08:56:36 -0000 Received: (qmail 5781 invoked by uid 48); 11 May 2006 08:56:30 -0000 Date: Thu, 11 May 2006 08:56:00 -0000 Message-ID: <20060511085630.5780.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug tree-optimization/27341] [4.2 Regression] ICE in in add_virtual_operand with complex types In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth at gcc dot gnu dot org" 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 X-SW-Source: 2006-05/txt/msg01084.txt.bz2 List-Id: ------- Comment #5 from rguenth at gcc dot gnu dot org 2006-05-11 08:56 ------- Reduced testcase: double zero; double matmul_c8 (_Complex double * dest) { *dest += 1; return zero; } we go from before cplxlower matmul_c8 (dest) { double D.1526; complex double D.1525; complex double D.1524; : # VUSE ; D.1524_2 = *dest_1; D.1525_3 = D.1524_2 + __complex__ (1.0e+0, 0.0); # zero_7 = V_MAY_DEF ; *dest_1 = D.1525_3; # VUSE ; D.1526_5 = zero; return D.1526_5; } to after it ;; basic block 2, loop depth 0, count 0 ;; prev block 0, next block 1 ;; pred: ENTRY [100.0%] (fallthru,exec) ;; succ: EXIT [100.0%] : # VUSE ; D.1538 = REALPART_EXPR <*dest_1>; # VUSE ; D.1539 = IMAGPART_EXPR <*dest_1>; D.1524_2 = COMPLEX_EXPR ; CR.9_9 = D.1538; CI.10_10 = D.1539; D.1542 = CR.9_9 + 1.0e+0; D.1525_3 = COMPLEX_EXPR ; CR.11_11 = D.1542; # zero_7 = V_MAY_DEF ; *dest_1 = D.1525_3; # VUSE ; D.1526_5 = zero; return D.1526_5; note that for the complex dest, we have Vops for zero only, but later a SMT falls out of the sky. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27341