https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117572
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> probably. You should be able to write small testcases doing the integer
> conversions manually btw.
Simplified testcase then:
```
typedef __SIZE_TYPE__ size_t;
extern char o[3];
extern char p[11];
char* f(void)
{
size_t t = (size_t)&o[0];
t += (size_t)&p[2];
t -= (size_t)&p;
return (char*)t;
}
```
LLVM is able to optimize this to just `&o[2];`.