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

             Bug #: 52698
           Summary: -maddress-mode=long doesn't work
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hjl.to...@gmail.com
                CC: ubiz...@gmail.com
            Target: x86-64


[hjl@gnu-mic-2 gcc]$ cat /tmp/x.c
extern void abort (void);
static __thread unsigned char foo [32]
  __attribute__ ((tls_model ("initial-exec"), aligned (sizeof (void *))));
void
test2 (void)
{
  unsigned int s;
  for (s = 0; s < sizeof (foo); ++s)
    {
      if (foo [s] != s)
 abort ();
      foo [s] = sizeof (foo) - s;
    }
}
[hjl@gnu-mic-2 gcc]$ ./xgcc -B./ -mx32 -O2  -S /tmp/x.c  -maddress-mode=long
/tmp/x.c: In function \u2018test2\u2019:
/tmp/x.c:14:1: error: insn does not satisfy its constraints:
(insn 52 78 53 5 (set (mem/j:QI (plus:DI (plus:DI (reg:DI 37 r8)
                    (reg:DI 38 r9))
                (reg:DI 2 cx [orig:98 D.1709 ] [98])) [0 foo S1 A8])
        (reg:QI 1 dx [100])) /tmp/x.c:12 66 {*movqi_internal}
     (nil))
/tmp/x.c:14:1: internal compiler error: in reload_cse_simplify_operands, at
postreload.c:403
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
[hjl@gnu-mic-2 gcc]$ ./xgcc -B./ -mx32 -O2  -S /tmp/x.c  -maddress-mode=short
[hjl@gnu-mic-2 gcc]$

Reply via email to