https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119731
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- GCC: r1 = r10 r3 += r5 r1 += -16 call 113 .LBE7: r2 = *(u32 *) (r10+-16) *(u32 *) (r10+-24) = r2 clang: call 113 .Ltmp27: .Ltmp28: .loc 1 55 34 is_stmt 1 .Ltmp29: r1 = *(u64 *)(r10 - 8) .loc 1 55 22 is_stmt 0 .Ltmp30: *(u32 *)(r10 - 20) = w1 Huh? Is the verifier not understanding the load of u32 instead of a 64 load?