https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64011
Bug ID: 64011 Summary: Fail to compile pr48335-2.c on big-endian aarch64 Product: gcc Version: 4.9.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: chenshanyaoboy at gmail dot com example from pr48335-2.c cat test.c typedef short U __attribute__((may_alias, aligned (1))); struct S { _Complex float d __attribute__((aligned (8))); }; void bar(struct S); void f5 (int x) { struct S s = { .d = 0.0f }; ((U *)((char *) &s.d + 1))[3] = x; __real__ s.d *= 7.0; bar (s); } aarch64-linux-gnu-gcc -w -c -O1 test.c -mbig-endian /tmp/cc9vId7S.s: Assembler messages: /tmp/cc9vId7S.s:12: Error: immediate value out of range 0 to 31 at operand 3 -- `bfi w1,w0,-8,16'