https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112398
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2023-11-05 Ever confirmed|0 |1 --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Also it depends on the ABI since the return value on many targets' ABI don't care about the upper bits. For an example on aarch64 we get: neg8: ldrb w0, [x0] mvn w0, w0 ret neg16: ldrh w0, [x0] mvn w0, w0 ret