From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25260 invoked by alias); 22 Oct 2002 20:56:02 -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 25206 invoked by uid 71); 22 Oct 2002 20:56:01 -0000 Resent-Date: 22 Oct 2002 20:56:01 -0000 Resent-Message-ID: <20021022205601.25205.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, awong@cs.washington.edu Received: (qmail 19255 invoked by uid 61); 22 Oct 2002 20:53:29 -0000 Message-Id: <20021022205329.19254.qmail@sources.redhat.com> Date: Tue, 22 Oct 2002 13:56:00 -0000 From: awong@cs.washington.edu Reply-To: awong@cs.washington.edu To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: optimization/8313: gcc 3.2 on -O2 and yields bad code for unsigned short argument X-SW-Source: 2002-10/txt/msg00833.txt.bz2 List-Id: >Number: 8313 >Category: optimization >Synopsis: gcc 3.2 on -O2 and yields bad code for unsigned short argument >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Tue Oct 22 13:56:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Albert Wong >Release: unknown-1.0 >Organization: >Environment: gentoo linux 1.4 PPC (G4 Cube) >Description: This error occurs only on optimization level 2 When passing in an argument of type unsigned short = 65535, gcc3.2 on the ppc generates the code li 3,-1 which incorrectly sign extends the value in the register to a 32-bit -1 rather than a 16-bit -1. >How-To-Repeat: gcc -O2 test.c ./a.out This will be an inifinite loop, though the code should terminate after 2 calls to "inf_loop". >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="test.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="test.c" I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIEEgMHhmZmZmCgp0eXBlZGVmIHVuc2lnbmVkIHNo b3J0IHUxNl90OwoKaW50IGluZl9sb29wKHUxNl90IHR5cGUpIHsKCglpZiggdHlwZSA9PSBBICkg ewoJCWZwcmludGYoc3RkZXJyLCAiQnJlYWsgcmVjdXJzaW9uXG4iKTsKCQlyZXR1cm4gMDsKCX0K CglmcHJpbnRmKHN0ZGVyciwgIlJlY3Vyc2lvblxuIik7CgoJcmV0dXJuIGluZl9sb29wKEEpOwp9 CgppbnQgbWFpbih2b2lkKSB7CglpbmZfbG9vcCgxKTsKCXJldHVybiAwOwp9Cgo=