Still exists some combine opportunities like this in the aarch64 hotspot runtime, one example:
- __ andr(rscratch1, tmp, TypeEntries::type_unknown);
- __ cbnz(rscratch1, next); // already unknown. Nothing to do anymore.
+ __ tbnz(tmp, exact_log2(TypeEntries::type_unknown), next); // already unknown. Nothing to do anymore.
- __ andr(rscratch1, tmp, TypeEntries::type_unknown);
- __ cbnz(rscratch1, next); // already unknown. Nothing to do anymore.
+ __ tbnz(tmp, exact_log2(TypeEntries::type_unknown), next); // already unknown. Nothing to do anymore.