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.