this gets lowered very literally by the AArch64 backend:
_f:
sub x8, x0, #1
cmp x8, x0
cset w0, lo
ret
no problem so far!
after optimization the lifted code is:
define i1 @f(ptr %0) {
arm_tv_entry:
%a4_5.not.not = icmp ne ptr %0, null
ret i1 %a4_5.not.not
}
this seems like it should be just fine in asm mode, but it doesn't verify, and I don't understand the reasoning. why shouldn't the pointer to offset -1 in block 1 be less than the pointer to offset 0 in the same block?
I could use some help with this one. this is src:
this gets lowered very literally by the AArch64 backend:
no problem so far! after optimization the lifted code is:
this seems like it should be just fine in asm mode, but it doesn't verify, and I don't understand the reasoning. why shouldn't the pointer to offset -1 in block 1 be less than the pointer to offset 0 in the same block?