https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80218
--- Comment #2 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> --- A simple test case is: #include <math.h> void f (float *x) { x[0] = sqrtf (x[0]); } which ought to spill x only when a call to sqrtf is needed.