https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108140
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org Keywords| |ice-on-valid-code Component|c |middle-end Target| |aarch64-*-* Summary|tzcnt gives different |ICE expanding __rbit |result in debug vs release | --- Comment #4 from Alexander Monakov <amonakov at gcc dot gnu.org> --- When comment #0 says "this crashes at -O2", it means ICE in expand for the '__rbit' intrinsic on this testcase, which is reproducible on 12.2 and trunk: #include<stdio.h> #include<arm_acle.h> int main(int argc, char *argv[]) { unsigned long long input = argc-1; unsigned long long v = __clz(__rbit(input)); printf("%d %d\n", argc, v >= 64 ? 123 : 456); } I've edited the bug title to reflect this.