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.