https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65564
Kai Tietz <ktietz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-03-25 CC| |ktietz at gcc dot gnu.org Target Milestone|--- |5.0 Summary|builtin-bnd-narrow-ptr-boun |[Regression 5] |ds-2-nov.c:15:1: internal |builtin-bnd-narrow-ptr-boun |compiler error: in |ds-2-nov.c:15:1: internal |simplify_subreg, at |compiler error: in |simplify-rtx.c:5745 |simplify_subreg, at | |simplify-rtx.c:5745 Ever confirmed|0 |1 --- Comment #1 from Kai Tietz <ktietz at gcc dot gnu.org> --- Confirmed. Backtrace: #1 0x010771df in fancy_abort ( file=file@entry=0x12d0e80 <inchash::add_rtx(rtx_def const*, inchash::hash&): :__FUNCTION__+8> "../../gcc/gcc/simplify-rtx.c", line=line@entry=5745, function=function@entry=0x12d170a <simplify_subreg(machine_mode, rtx_def*, m achine_mode, unsigned int)::__FUNCTION__> "simplify_subreg") at ../../gcc/gcc/diagnostic.c:1291 #2 0x008fa8dd in simplify_subreg (outermode=outermode@entry=BLKmode, op=op@entry=0xfff5b2c0, innermode=innermode@entry=DImode, byte=byte@entry=0) at ../../gcc/gcc/simplify-rtx.c:5745 #3 0x008fac8f in simplify_gen_subreg (outermode=BLKmode, op=0xfff5b2c0, innermode=DImode, byte=byte@entry=0) at ../../gcc/gcc/simplify-rtx.c:5967 #4 0x006ffb7f in ix86_delegitimize_address (x=<optimized out>) at ../../gcc/gcc/config/i386/i386.c:14914 #5 0x00ead454 in adjust_mems (loc=0xfff5b7f0, old_rtx=0x0, data=0xc1aa890) at ../../gcc/gcc/var-tracking.c:1057 #6 0x008fe4fc in simplify_replace_fn_rtx (x=0xfff5b7f0, old_rtx=old_rtx@entry=0x0, fn=fn@entry=0xead280 <adjust_mems(rtx, const_rtx, void*)>, data=data@entry=0xc1aa890) at ../../gcc/gcc/simplify-rtx.c:467 #7 0x008fe038 in simplify_replace_fn_rtx (x=0xfff5b800, assert happens due on call of simplify_subreg the outermode is a BLKmode. I think we should check within simplify_get_subreg for outermode == BLKmode and avoid calling of simplify_subreg for it.