From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23564 invoked by alias); 2 Jan 2003 23:16:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 23532 invoked by uid 71); 2 Jan 2003 23:16:03 -0000 Date: Thu, 02 Jan 2003 23:16:00 -0000 Message-ID: <20030102231603.23529.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Christian Ehrhardt" Subject: Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI Reply-To: "Christian Ehrhardt" X-SW-Source: 2003-01/txt/msg00164.txt.bz2 List-Id: The following reply was made to PR c/7227; it has been noted by GNATS. From: "Christian Ehrhardt" To: Janis Johnson Cc: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org, ghazi@caip.rutgers.edu Subject: Re: c/7227: [<3.2/3.3> regression]: bogus code generation with attribute mode TI Date: Fri, 3 Jan 2003 00:07:50 +0100 On Thu, Jan 02, 2003 at 02:41:13PM -0800, Janis Johnson wrote: > Why is the class "wrong-code" and the the synopsis "bogus > code generation" when in fact it's an incorrect warning, > not incorrect code? Because the warning is actually correct for the generated asm code, i.e. the code is wrong. I remember that I changed synopis and class. Unfortunately this info is missing in the audit trail. Maybe this has something to do with the full disk problem that gnats had recently. Anyway here's the relevant info from my sent-mail box: ---- snip ----- Somewhere between 3.2-release and current cvs (3.2 and 3.3) optimization with when TImode integers are involved was broken. This code int f (__attribute__ ((mode (TI))) int a) { __attribute__ ((mode (TI))) int w; w = a+1; return w; } Is compiled into this asm code on sparc: f: !#PROLOGUE# 0 !#PROLOGUE# 1 mov 0, %o5 retl mov %o5, %o0 .size f, .-f .ident "GCC: (GNU) 3.3 20021204 (experimental)" This code is obviously too short. This gives an ICE instead, I'll probably open a differen report for this though: __attribute__ ((mode (TI))) int f (__attribute__ ((mode (TI))) int a) { } ---- snip ----- The new PR for the (most likely unrelated) ICE is 8960. regards Christian