[Bug target/51996] ICE in extract_insn gcc.dg/pr48335-5.c

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 25 12:48:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51996

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2012-01-25
                 CC|rguenther at suse dot de    |rguenth at gcc dot gnu.org
          Component|regression                  |target
     Ever Confirmed|0                           |1

--- Comment #1 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-01-25 12:29:49 UTC ---
Looks like a target bug to me, needs -O -mfpu=neon -mfloat-abi=softfp to
trigger.

typedef long long T __attribute__((may_alias));

struct S
{
  _Complex float d __attribute__((aligned (8)));
};

int
f1 (struct S x)
{
  struct S s = x;
  return *(T *) &s.d;
}

expands from

f1 (struct S x)
{
  T D.4964;
  int D.4957;

<bb 2>:
  D.4964_1 = VIEW_CONVERT_EXPR<T>(x);
  D.4957_3 = (int) D.4964_1;
  return D.4957_3;
}

and the target emits

(insn 9 0 0 (set (reg:DI 140)
        (unspec:DI [
                (mem/s/c:DI (plus:SI (reg/f:SI 129 virtual-stack-vars)
                        (const_int -8 [0xfffffffffffffff8])) [0 S8 A32])
            ] UNSPEC_MISALIGNED_ACCESS)) t.c:11 -1
     (nil))

for a DImode movmisalign of

(mem/s/c:SC (plus:SI (reg/f:SI 129 virtual-stack-vars)
        (const_int -8 [0xfffffffffffffff8])) [0 S8 A32])



More information about the Gcc-bugs mailing list