https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69548

            Bug ID: 69548
           Summary: libatomic fails to build with -Os on powerpc64-linux
           Product: gcc
           Version: 5.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: amodra at gmail dot com
  Target Milestone: ---

Compiling the following testcase on gcc-5 or gcc-4.9 with -Os -mcpu=power8
-mbig -S

typedef unsigned U_16 __attribute__((mode(TI)));
U_16
libat_exchange_16 (U_16 *mptr, U_16 newval)
{
  return __atomic_exchange_n (mptr, newval, 5);
}

results in an assembler error "Error: operand out of domain (7 is not a
multiple of 2)"

The failing insn is "lqarx 7,0,9".

Reply via email to