>turning: >ldr r3, [r5, #6] >mov r0, r3, lsr #16 >into >ldrh r0, [r5, #4] > >This occurs at about line 289/290 of sys/arch/arm32/podulebus/podulebus.c >I believe it should actually produce: >ldrh r0, [r5, #8] No, the compiler is correct. Unaligned loads behave in a slightly surprising way on ARM. p.