Here is the answer I believe:
u8 lerp_uint8(u8 x, u8 y, u8 t) { return (((y - x) * t * 0x10101) + 0x800000 >> 24) + x; }