https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59593
Andrew <wad at infinet dot ru> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wad at infinet dot ru --- Comment #10 from Andrew <wad at infinet dot ru> --- Same bug int gcc 4.9.2 Command line: arm-rtems-gcc -S -O2 -mbig-endian testbige.c File testbige.c: struct test1_s { unsigned short st; }; struct test1_s f1(void) { struct test1_s v = {258}; return v; } Generated code: .cpu arm7tdmi .fpu softvfp .eabi_attribute 20, 1 .eabi_attribute 21, 1 .eabi_attribute 23, 3 .eabi_attribute 24, 1 .eabi_attribute 25, 1 .eabi_attribute 26, 2 .eabi_attribute 30, 2 .eabi_attribute 34, 0 .eabi_attribute 18, 4 .file "testbige.c" .text .align 2 .global f1 .type f1, %function f1: @ Function supports interworking. @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. ldrh r0, .L2 @ movhi mov r0, r0, asl #16 bx lr .L3: .align 2 .L2: .word 258 .size f1, .-f1 .ident "GCC: (GNU) 4.9.2"