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".