https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71185
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- The real issue is that prefetch does Breakpoint 5, issue_prefetch_ref (ref=0x2778490, unroll_factor=1, ahead=23) at /space/rguenther/src/svn/trunk/gcc/tree-ssa-loop-prefetch.c:1132 1132 addr_base = build_fold_addr_expr_with_type (ref->mem, ptr_type_node); (gdb) p debug_generic_expr (ref->mem) BIT_FIELD_REF <_9, 32, 32> $1 = void and you can't take the address of this. So the gimplifier forces it to a temporary and takes the address of that. Certainly not what was intented.