https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61320
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|thopre01 at gcc dot gnu.org |rguenth at gcc dot
gnu.org
--- Comment #50 from Richard Biener <rguenth at gcc dot gnu.org> ---
Ah, we also expand one from a TARGET_MEM_REF:
;; basic block 76, loop depth 2
;; pred: 79
load_dst_215 = MEM[base: ptr_110, offset: 0B];
and TARGET_MEM_REF only handles the movmisalign case. So it's either IVOPTs
not punting properly here (it does for unaligned accesses - grep for
STRICT_ALIGNMENT) or we need to put a bitfield extraction case into
TARGET_MEM_REF expansion (IMHO that's missing anyway, IVOPTs is too much
pessimized by not considering this).
I'll fix it somewhen after the cauldron unless somebody beats me to it.