https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69946
Bug ID: 69946 Summary: [6 Regression] Invalid ppc64 assembly emitted starting with r226005 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: jakub at gcc dot gnu.org Target Milestone: --- At -O2 following testcase does not assemble on both powerpc64-linux and powerpc64le-linux, starting with r226005. The error is: vl_idct.s: Assembler messages: vl_idct.s:27: Error: operand out of range (44 is not between 0 and 31) struct A { int a : 4; int : 2; int b : 2; int : 2; int c : 2; int d : 1; int e; }; struct B { int a : 4; } *a; void bar (struct A); void foo (void) { struct B b = a[0]; struct A c; c.a = b.a; c.b = 1; c.c = 1; c.d = 0; bar (c); }