pub const __clzsi2 = switch (builtin.cpu.arch)
pub const __clzsi2 = switch (builtin.cpu.arch) { .arm, .armeb, .thumb, .thumbeb => impl: { const use_thumb1 = (builtin.cpu.arch.isThumb() or builtin.cpu.has(.arm, .noarm)) and !builtin.cpu.has(.arm, .thumb2); if (use_thumb1) { break :impl __clzsi2_thumb1; } // From here on we're either targeting Thumb2 or ARM. else if (!builtin.cpu.arch.isThumb()) { break :impl __clzsi2_arm32; } // Use the generic implementation otherwise. else break :impl clzsi2_generic; }, else => clzsi2_generic, }