https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103184
--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Hongtao.liu from comment #2) > When mask is integer_cst, it not safe to replace_uses_by (use_lhs, lhs); Similar ICE for variable mask. int tbit0 (_Atomic int* a, int n) { #define BIT (0x01 << n) return atomic_fetch_or(a, BIT) & BIT; #undef BIT }