From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24119 invoked by alias); 19 Feb 2003 23:26:00 -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 24083 invoked by uid 71); 19 Feb 2003 23:26:00 -0000 Resent-Date: 19 Feb 2003 23:26:00 -0000 Resent-Message-ID: <20030219232600.24082.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, dmeggy@techsol.ca Received: (qmail 24046 invoked by uid 48); 19 Feb 2003 23:25:59 -0000 Message-Id: <20030219232559.24045.qmail@sources.redhat.com> Date: Wed, 19 Feb 2003 23:26:00 -0000 From: dmeggy@techsol.ca Reply-To: dmeggy@techsol.ca To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: target/9766: thumb mode produces an arm instruction with -Os X-SW-Source: 2003-02/txt/msg00962.txt.bz2 List-Id: >Number: 9766 >Category: target >Synopsis: thumb mode produces an arm instruction with -Os >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Wed Feb 19 23:26:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: dmeggy@techsol.ca >Release: unknown-1.0 >Organization: >Environment: arm-linux >Description: try compiling the following function with the following options to gcc 3.2.2 "-Os -mthumb -c -o dave.o dave.c" static int dave(const char *s) { unsigned long matchmap[8]; return (int)matchmap[(unsigned char)*s++/32]; } it produces a load register function that uses the stack pointer (i.e. a register above r7, which is invalid in thumb mode) >How-To-Repeat: try compiling the above function >Fix: Take off -Os optimization >Release-Note: >Audit-Trail: >Unformatted: