When creating a scev for sext({X,+,Y}), scev checks if the expression
is equivalent to {sext X,+,zext Y}. If it can prove that, it also
tags the original {X,+,Y} as <nsw>, which is not correct AFAICT.
In the test case I run -scalar-evolution twice because the bug
manifests only once SCEV has run through and seen the sext
expressions (and then does a in-place mutation on {X,+,Y}).