https://pastebin.com/fDvgWgHe After having a chat with Dougall Johnson (https://twitter.com/dougallj/status/1534213050944802816), we realized that __clzll works with zero arguments per documentation: https://developer.arm.com/documentation/101028/0009/Data-processing-intrinsics ``` Returns the number of leading zero bits in x. When x is zero it returns the argument width, i.e. 32 or 64. ``` Codegen improves https://godbolt.org/z/ebadf717Y Thus we can use a little bit different construction not involving CLS but using more understandable CLZ and removing some operations. PiperOrigin-RevId: 453879080 Change-Id: Ie2d7f834f63364d7bd50dd6a682c107985f21942
| Name |
Last commit
|
Last Update |
|---|---|---|
| .. | ||
| btree.h | Loading commit data... | |
| btree_container.h | Loading commit data... | |
| common.h | Loading commit data... | |
| compressed_tuple.h | Loading commit data... | |
| compressed_tuple_test.cc | Loading commit data... | |
| container_memory.h | Loading commit data... | |
| container_memory_test.cc | Loading commit data... | |
| counting_allocator.h | Loading commit data... | |
| hash_function_defaults.h | Loading commit data... | |
| hash_function_defaults_test.cc | Loading commit data... | |
| hash_generator_testing.cc | Loading commit data... | |
| hash_generator_testing.h | Loading commit data... | |
| hash_policy_testing.h | Loading commit data... | |
| hash_policy_testing_test.cc | Loading commit data... | |
| hash_policy_traits.h | Loading commit data... | |
| hash_policy_traits_test.cc | Loading commit data... | |
| hashtable_debug.h | Loading commit data... | |
| hashtable_debug_hooks.h | Loading commit data... | |
| hashtablez_sampler.cc | Loading commit data... | |
| hashtablez_sampler.h | Loading commit data... | |
| hashtablez_sampler_force_weak_definition.cc | Loading commit data... | |
| hashtablez_sampler_test.cc | Loading commit data... | |
| inlined_vector.h | Loading commit data... | |
| layout.h | Loading commit data... | |
| layout_benchmark.cc | Loading commit data... | |
| layout_test.cc | Loading commit data... | |
| node_slot_policy.h | Loading commit data... | |
| node_slot_policy_test.cc | Loading commit data... | |
| raw_hash_map.h | Loading commit data... | |
| raw_hash_set.cc | Loading commit data... | |
| raw_hash_set.h | Loading commit data... | |
| raw_hash_set_allocator_test.cc | Loading commit data... | |
| raw_hash_set_benchmark.cc | Loading commit data... | |
| raw_hash_set_probe_benchmark.cc | Loading commit data... | |
| raw_hash_set_test.cc | Loading commit data... | |
| test_instance_tracker.cc | Loading commit data... | |
| test_instance_tracker.h | Loading commit data... | |
| test_instance_tracker_test.cc | Loading commit data... | |
| tracked.h | Loading commit data... | |
| unordered_map_constructor_test.h | Loading commit data... | |
| unordered_map_lookup_test.h | Loading commit data... | |
| unordered_map_members_test.h | Loading commit data... | |
| unordered_map_modifiers_test.h | Loading commit data... | |
| unordered_map_test.cc | Loading commit data... | |
| unordered_set_constructor_test.h | Loading commit data... | |
| unordered_set_lookup_test.h | Loading commit data... | |
| unordered_set_members_test.h | Loading commit data... | |
| unordered_set_modifiers_test.h | Loading commit data... | |
| unordered_set_test.cc | Loading commit data... |