Bug 154116 - gcc -Os generates bad assembler code
Summary: gcc -Os generates bad assembler code
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: 3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 164805
TreeView+ depends on / blocked
 
Reported: 2005-04-07 16:03 UTC by D. Hugh Redelmeier
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version: 3.4.4-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-09-05 08:44:10 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
C code to demonstrate bug (815 bytes, text/plain)
2005-04-07 16:05 UTC, D. Hugh Redelmeier
no flags Details

Description D. Hugh Redelmeier 2005-04-07 16:03:15 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050323 Firefox/1.0.2 Fedora/1.0.2-1.3.1

Description of problem:
For the included example, gcc generates assembler code that makes the assembler complain.  The assembler code uses an immediate value in a movb that does not fit in a byte.  The original C code does not do this.

Version-Release number of selected component (if applicable):
gcc-3.4.2-6.fc3

How reproducible:
Always

Steps to Reproduce:
1. fetch attached file "gcc-inline-bad-byte.c"
2. gcc -Os -c gcc-inline-bad-byte.c
  

Actual Results:  /tmp/ccDdmcnm.s: Assembler messages:
/tmp/ccDdmcnm.s:9: Warning: 277 shortened to 21


Expected Results:  no error messages

Additional info:

This example is boiled down from driver code being developed by the ivtv project.
Without inlining, there is no bad assembler code (I presume that the resulting code is correct, but I have not looked).

Comment 1 D. Hugh Redelmeier 2005-04-07 16:05:11 UTC
Created attachment 112816 [details]
C code to demonstrate bug

Comment 2 Jakub Jelinek 2005-05-27 15:24:20 UTC
Should be fixed in gcc-3.4.4-1.


Note You need to log in before you can comment on or make changes to this bug.