https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111378
ktkachov at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2023-09-12 CC| |ktkachov at gcc dot gnu.org --- Comment #1 from ktkachov at gcc dot gnu.org --- Confirmed. On aarch64 GCC generates: test: mov w2, 65535 cmp w1, w2 bhi .L2 b do_something .L2: b do_something_other but LLVM generates the shorter: test: // @test lsr w8, w1, #16 cbnz w8, .LBB0_2 b do_something .LBB0_2: b do_something_other