https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68843
Bug ID: 68843 Summary: ICE with "u" input constraint Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: bernd.edlinger at hotmail dot de Target Milestone: --- Hi, I have just played a bit with 80x87 fpu register constraints, and found an ICE: cat t1.c double test() { double x,y; asm ("# %0 %1 %2" : "=&t" (x) : "f" (x), "u" (y)); return x; } gcc -O -S t1.c t1.c: In function 'test': t1.c:6:1: internal compiler error: in change_stack, at reg-stack.c:2522 } ^ 0xa934a3 change_stack ../../gcc-trunk/gcc/reg-stack.c:2522 0xa93b62 subst_asm_stack_regs ../../gcc-trunk/gcc/reg-stack.c:2125 0xa95ead subst_stack_regs ../../gcc-trunk/gcc/reg-stack.c:2302 0xa960ed convert_regs_1 ../../gcc-trunk/gcc/reg-stack.c:2951 0xa960ed convert_regs_2 ../../gcc-trunk/gcc/reg-stack.c:3086 0xa96f5a convert_regs ../../gcc-trunk/gcc/reg-stack.c:3121 0xa96f5a reg_to_stack ../../gcc-trunk/gcc/reg-stack.c:3250 0xa96f5a rest_of_handle_stack_regs ../../gcc-trunk/gcc/reg-stack.c:3305 0xa96f5a execute ../../gcc-trunk/gcc/reg-stack.c:3336 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. and same result for: cat t2.c double test() { double x,y; asm ("# %0 %1 %2" : "=&r" (x) : "r" (x), "u" (y)); return x; }