https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59155
Arseny Solokha <asolokha at gmx dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |asolokha at gmx dot com --- Comment #9 from Arseny Solokha <asolokha at gmx dot com> --- (In reply to Marc Glisse from comment #0) > double f(double x){ > asm volatile("":"+X"(x)); > return x; > } > double g(double x,double y){ > return f(f(x)+f(y)); > } > > compiled with -O2: > > a.c: In function 'g': > a.c:7:1: internal compiler error: in reg_overlap_mentioned_p, at > rtlanal.c:1473 > } > ^ > 0x967015 reg_overlap_mentioned_p(rtx_def const*, rtx_def const*) > /data/repos/gcc/pristine/gcc/rtlanal.c:1473 > 0x7cde02 match_asm_constraints_1 > /data/repos/gcc/pristine/gcc/function.c:7164 > 0x7cdfda rest_of_match_asm_constraints > /data/repos/gcc/pristine/gcc/function.c:7207 > 0x7cdfda execute > /data/repos/gcc/pristine/gcc/function.c:7239 > 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. gcc 7.3 ICEs for me on this testcase as reported here, while all newer branches including trunk reject it w/ the diagnotsic shown in comment 1. Thus, this PR applies to 7 branch only.