public static uint bits_extract(uint x, int index, int length) { if (Bmi1.IsBmi1Supported) { return(Bmi1.bextr_u32(x, (uint)index, (uint)length)); } else { return((x >> index) & ((1u << length) - 1)); } }