https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93440
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- OK, so I can compile the testcase now but I fail to see the error. We're doing pointer difference compares and those should work out fine? We're also doig many checks but you probably refer to the very first test? _Z12brokenvectorRKSt6vectorIiSaIiEES3_: .LFB2470: .cfi_startproc movq (%rsi), %rdx movq 8(%rdi), %rsi xorl %r8d, %r8d movq (%rdi), %rax movq %rsi, %rcx subq %rax, %rcx cmpq $12, %rcx jle .L18 that's created from <bb 2> [local count: 1073741824]: _7 = MEM[(int * *)b_2(D)]; _6 = MEM[(int * *)a_3(D) + 8B]; _4 = MEM[(int * *)a_3(D)]; _10 = _6 - _4; if (_10 > 12) what are the actual pointers here?