←back to thread

120 points misternugget | 1 comments | | HN request time: 0.213s | source
Show context
camel-cdr ◴[] No.42198301[source]
nth_set_bit_u64: wouldn't that be __builtin_ctzll(_pdep_u64(1<<n, v)) with BMI2?
replies(3): >>42198733 #>>42199867 #>>42200581 #
SkiFire13 ◴[] No.42198733[source]
That's assuming you're ok with your program not running on some older cpus.
replies(1): >>42200177 #
1. zamadatix ◴[] No.42200177[source]
That and that you're not willing to entertain splitting the manual version as #[cfg(not(target_feature = "bmi2"))] fallback implementation. For something already down to ~ 1 ns both of those may well be very reasonable assumptions of course.