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):
Steps to Reproduce:
1. Compile enclosed file
2. Use -O3 -ffast-math -funroll-all-loops -fstrict-aliasing
(unroll seems to be what breaks it)
Actual Results: crash and burn...
Expected Results: Give me working code, Scotty..
Created attachment 41671 [details]
c++ source file
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".