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.