https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99653
Bug ID: 99653 Summary: [AIX] Bitfield placement Product: gcc Version: 11.0 Status: UNCONFIRMED Keywords: ABI Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: dje at gcc dot gnu.org Target Milestone: --- Target: powerpc-ibm-aix* extern int printf(const char *, ...); struct A { long long x2 : 1; long long x3 : 20; long long x4 : 20; } a; void dumpA(void) { typedef unsigned char *ucp; ucp p; for (p = (ucp)&a; p < (ucp)&1[&a]; ++p) { printf("%02x ", (unsigned)*p); } printf("\n"); } int main(void) { a.x2=0; a.x2-=1; a.x4=-1; dumpA(); return 0; } GCC: 80 00 07 ff ff 80 00 00 XLC: 80 00 00 00 ff ff f0 00