https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118976
--- Comment #16 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>: https://gcc.gnu.org/g:78380fd7f743e23dfdf013d68a2f0347e1511550 commit r15-7807-g78380fd7f743e23dfdf013d68a2f0347e1511550 Author: Richard Sandiford <richard.sandif...@arm.com> Date: Tue Mar 4 10:44:35 2025 +0000 Fix folding of BIT_NOT_EXPR for POLY_INT_CST [PR118976] There was an embarrassing typo in the folding of BIT_NOT_EXPR for POLY_INT_CSTs: it used - rather than ~ on the poly_int. Not sure how that happened, but it might have been due to the way that ~x is implemented as -1 - x internally. gcc/ PR tree-optimization/118976 * fold-const.cc (const_unop): Use ~ rather than - for BIT_NOT_EXPR. * config/aarch64/aarch64.cc (aarch64_test_sve_folding): New function. (aarch64_run_selftests): Run it.