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.

Reply via email to