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:
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".