https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82445
Bug ID: 82445
Summary: ARM target generates unaligned STRD instruction
Product: gcc
Version: 7.1.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: agraf at suse dot de
CC: rguenth at gcc dot gnu.org
Target Milestone: ---
Target: ARM
Created attachment 42310
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42310&action=edit
Reproducer
The 32-bit ARM target in gcc generates an STRD instruction at not-multiple-of-8
offsets even with -no-unaligned-access specified. This currently breaks grub on
ARM, as it runs with alignment faults enabled.
This is also a regression introduced somewhere recently (gcc7?), as I haven't
seen these unaligned accesses generated before.
I've also attached a small reproducer for the issue.