https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128536
--- Comment #2 from uecker at gcc dot gnu.org ---
>From a user and language point of view just I would expect this to just work.
But I do not quite understand the code. How can it be safe to pass the same
expression to size_diffop for both args?
If it is safe here because it is clear that it ends up being a constant after
subtracting some common variable part, then why not simple add
if (arg0 == arg1)
size = build_int_cst (ssizetype, 0);
somewhere?