Bug 57954

Summary: Internal compiler error in print_operand_address, at config/i386/i386.c:3426
Product: [Retired] Red Hat Linux Reporter: Mark Diekhans <markd>
Component: gccAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2   
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2002-01-03 08:47:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
c++ source file none

Description Mark Diekhans 2002-01-03 08:46:50 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.79 [en] (X11; U; Linux 2.2.12 i386; Nav)

Description of problem:
Internal compiler error in print_operand_address
, at config/i386/i386.c:3426


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Compile enclosed file
2. Use  -O3 -ffast-math -funroll-all-loops -fstrict-aliasing
-fomit-frame-pointer
  (unroll seems to be what breaks it)
	

Actual Results:  crash and burn...

Expected Results:  Give me working code, Scotty..

Additional info:

Comment 1 Mark Diekhans 2002-01-03 08:47:48 UTC
Created attachment 41671 [details]
c++ source file

Comment 2 Jakub Jelinek 2002-01-15 15:07:44 UTC
You get what you ask for. X asm constraint means any operand is allowed, which
really is not a good choice for asm statements, because compiler may build
operands which the machine does not have. X should be used in machine descriptions
only (accompanied by some predicate, asm statements don't have any).
The code should be changed to use "g" instead of "X".